Polyfit in case of power function

4 次查看(过去 30 天)
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 个评论
dpb
dpb 2013-7-29
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.

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Curve Fitting Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by