Polyfit in case of power function

4 Ansichten (letzte 30 Tage)
Ede gerlderlands
Ede gerlderlands am 29 Jul. 2013
Hi All. I have an equation of the form y=b+ a.x^(1/3)
I tried to fit a line by assuming
m=x^(1/3);
p=polyfit(m,y,1);
f=polyval(p,m);
plot(x,y,'o',x,f,'-');
but the plot isn't satisfactory. Is there any wrong with the code or is the problem with my selection of fitting equation?
Regards,
  7 Kommentare
Ede gerlderlands
Ede gerlderlands am 29 Jul. 2013
Thank you very much
dpb
dpb am 29 Jul. 2013
To get a grasp on what's going on, try the following...
plot(x,y)
b=polyfit(xp(6:end),y(6:end),1);
hold on, plot(x(6:end),polyval(b,xp(6:end)),'ro')
b=polyfit(xp(1:5),y(1:5),1);
plot(x(1:5),polyval(b,xp(1:5)),'go')
This separates the two sections of positive and negative curvature and fits the two regions separately.
As this clearly shows, x^1/3 is both too "weak" a correlation early on and of the opposite curvature later. There's simply no way you can adequately model these data w/ a single functional form of the type of a power relationship--they just don't follow that as a model.

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Kategorien

Mehr zu Curve Fitting Toolbox 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