Fit a curve along points through starting and end point
52 views (last 30 days)
Show older comments
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?
0 Comments
Accepted Answer
Ameer Hamza
on 1 Oct 2020
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.
0 Comments
More Answers (1)
KALYAN ACHARJYA
on 1 Oct 2020
Edited: KALYAN ACHARJYA
on 1 Oct 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]));
See Also
Categories
Find more on Linear and Nonlinear Regression in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!