曲线拟合
怎样进行没有常数项的多项式拟合,也就是曲线要强制通过零点。假如有x=【0 40 80 120 160 200】,y=【0 18 33 59 89 105】,怎样拟合没有常数项的二次多项式,我知道polyfit可以用来拟合带有常数项的多项式。希望知道的帮帮忙,谢谢 使用curving fitting tool 吧可以在fitting选项里面建立custom equation
a*x*x+b*x
拟合后:
General model:
f(x) = a*x*x+b*x
Coefficients (with 95% confidence bounds):
a = 0.0006211(-0.0003283, 0.001571)
b = 0.4175(0.2572, 0.5777)
还有其他信息 本帖最后由 liuyalong008 于 2011-5-1 18:03 编辑
看个人习惯,可用nlinfit,也可用fittype
nlinfit可能更灵活一点x=,y=
g=fittype('a*x^2+b*x')
f=fit(x',y',g,'startpoint',)
plot(f,x,y)[codef =
General model:
f(x) = a*x^2+b*x
Coefficients (with 95% confidence bounds):
a = 0.0006211(-0.0003283, 0.001571)
b = 0.4175(0.2572, 0.5777) 本帖最后由 nwcwww 于 2011-5-3 00:28 编辑
因为有线性约束所以polyfit不适用。
可以考虑用左除,nlinfit或者lsqlin。
就这个问题来说左除得到两个系数最简单:
>> c=\y(:)
c =
4.1745e-001
6.2112e-004
nlinfit和楼上说的一样,lsqlin用法类似,查下help就知道了。
页:
[1]