matlab 多项式拟合

来源:百度知道 编辑:UC知道 时间:2024/06/25 00:56:40
x=0:0.1:1.6;
y=[0 4 8 11 13.5 15.5 16.8 17.2 16.9 16.2 15.5 14.8 14.4 13.7 13.3 12.5 11.6];
我想进行二次拟合,最好一次项系数为0,这样可以吗?

拟合后要将系数取出给C1,C2,怎么得到,麻烦高手给编下啊,很急啊,先谢过……

x=0:0.1:1.6;
y=[0 4 8 11 13.5 15.5 16.8 17.2 16.9 16.2 15.5 14.8 14.4 13.7 13.3 12.5 11.6];
m=length(x);
A=[x.^2;ones(1,m)];
A=A';
c=A\y';
C1=c(1),C2=c(2)%分别为二次项系数和常数项

但是没有一次项的效果不好,下面是有一次项的拟合:

x=0:0.1:1.6;
y=[0 4 8 11 13.5 15.5 16.8 17.2 16.9 16.2 15.5 14.8 14.4 13.7 13.3 12.5 11.6];
m=length(x);
A=[x.^2;x;ones(1,m)];
A=A';
c=A\y';
C1=c(1),C2=c(2),C3=c(3) )%分别为二次项系数,一次项系数和常数项