Curve fitting (Noise)

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

 Risposta accettata

madhan ravi
madhan ravi il 15 Nov 2018
Modificato: madhan ravi il 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 Commenti

Abraham
Abraham il 15 Nov 2018
Thanks a lot. That solves the problem
madhan ravi
madhan ravi il 15 Nov 2018
Anytime :) , make sure to accept the answer

Accedi per commentare.

Più risposte (0)

Categorie

Community Treasure Hunt

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

Start Hunting!

Translated by