学习matlab拟合的运用

来源:百度知道 编辑:UC知道 时间:2024/06/08 04:10:49
这两天在搞数学建模,要用到matlab的拟合。以前没有涉及过。现在不需要精通,只要能花几个小时学会怎么用就行。想问问有没有好的网站上有这方面内容。现在只要会用,不求甚解

Matlab有现成的多项式拟合公式:a=polyfit(x,y,m)

x,y为要拟合的数据,是长度自定义的数组,m为多项式的次数,如
y=a1*x^m+...+am*x+a(m+1),这里,m,m+1是下标,a=[a1,....,am,a(m+1)];

至于不是多项式的,你应该也会化成多项式吧,
比如y=a1/x+a2,令z=1/x,则y=a1*z+a2
y=a1*exp(a2*x),令y2=ln(y),a11=ln(a1),则y2=a11+a2*x
不也是多项式吗。

小例:
x=[0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 0.9000 1.0000];
y=[11.0000 11.7320 12.5360 13.4240 14.4080 15.5000 16.7120 18.0560 19.5440 21.1880 23.0000];
a=polyfit(x,y,3)

这里的数据是用y=2.*x.^3+3.*x.^2+7.*x+11产生的,
你会看到上面结果a=[2.0000 3.0000 7.0000 11.0000]与它一致