MATLAB: Curve fitting (Noise)

curve fitting

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');

Best Answer

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');