Fit a curve along points through starting and end point

58 Ansichten (letzte 30 Tage)
Stefan Lang
Stefan Lang am 1 Okt. 2020
Beantwortet: Ameer Hamza am 1 Okt. 2020
I have some points with each an x and y value. I want to fit a curve somehow along these points, but not necessarily through these points. Except for the starting and endpoint, where the curve has to go through. The point curve looks a bit like sin/cos, so i think a fourier fit would work. How do i get to this, but with fixed start and endpoint?

Akzeptierte Antwort

Ameer Hamza
Ameer Hamza am 1 Okt. 2020
Use fit(): https://www.mathworks.com/help/curvefit/fit.html and specify the weights for each point
x = % your data points
y = % your data points
weights = [100 ones(1, numel(x)-2), 100]; % give a much higher weight to 1st and last point.
fit(x, y, 'sin8', 'Weights', weights);
sinx fittype series seems suitable for your data.

Weitere Antworten (1)

KALYAN ACHARJYA
KALYAN ACHARJYA am 1 Okt. 2020
Bearbeitet: KALYAN ACHARJYA am 1 Okt. 2020
You can fit the curve in number od ways, see which tyep perfectly fit as per your expectation
x_data=randi(10,[1,10])';
y_data=randi(10,[1,10])';
plot(x_data,y_data,'ro');
hold on
plot1=fit(x_data,y_data,'exp1');
%..........................^
plot(plot1,x_data,y_data);
Detail MATLAB docs here
If you just want connect the start point and end point only, plot the initail and end points of x and y data
x_data=randi(10,[1,10]);
y_data=randi(10,[1,10]);
plot(x_data,y_data,'ro');
hold on
plot(x_data([1,end]),y_data([1,end]));
  1 Kommentar
Stefan Lang
Stefan Lang am 1 Okt. 2020
Bearbeitet: Stefan Lang am 1 Okt. 2020
Well this does fit a curve to my data, but the fitted curve does not go through the first and last point. How do i get this? If i have 10 points, the curve has to connect point 1 with point 10, but in between, follow (not exactly, but nearby) point 2 to 9.
So, start exactly at point 1, fit the curve from point 2 to 9, finish exactly at point 10.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Linear and Nonlinear Regression finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by