Curve fitting (Noise)

4 views (last 30 days)
Abraham
Abraham on 15 Nov 2018
Commented: madhan ravi on 15 Nov 2018
So I have this table of data, x and f(x). I am trying use an appropriate technique to fit a curve to the data
But when I try to plot the data, I get this error message " Array indices must be positive integers or logical values". I guess because of the negative values
But excel actually did it with no problem.
Please, what do i do?
x = [0 0.1579 0.3158 0.4737 0.6316 0.7895 0.9474];
f(x) = [-0.3637 0.3164 -1.1263 -1.0672 0.1076 1.8249 -0.1899];
plot( x,f(x),'o');

Accepted Answer

madhan ravi
madhan ravi on 15 Nov 2018
Edited: madhan ravi on 15 Nov 2018
Use interp1() with suitable method:
x = [0 0.1579 0.3158 0.4737 0.6316 0.7895 0.9474];
f = [-0.3637 0.3164 -1.1263 -1.0672 0.1076 1.8249 -0.1899];
xx = linspace(x(1),x(end),1000);
yy=interp1(x,f,xx,'spline');
plot( x,f,'o',xx,yy,'r');
  2 Comments
Abraham
Abraham on 15 Nov 2018
Thanks a lot. That solves the problem
madhan ravi
madhan ravi on 15 Nov 2018
Anytime :) , make sure to accept the answer

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!