matlab怎么求以下数据的2阶和3阶多项式进行拟合,分别求他们的相关系数

2025-05-22 04:39:04
推荐回答(1个)
回答1:

用matlab求已知数据的2阶和3阶多项式进行拟合,及其相关系数。可以这样来实现。

x=[2004:1:2012]';
y=[4355.94 5041.21 6152.17 8439.06 8781.00 8988.00 10615.00 10925.84 12000.88]';

n=length(x);

Y=y;

X=[ones(n,1) x x.^2];  %拟合2阶多项式的系数

[b,bint,r,rint,stats] = regress(y,X);

b',stats(1)%相关系数

X=[ones(n,1) x x.^2 x.^3];  %拟合3阶多项式的系数

[b,bint,r,rint,stats] = regress(y,X);

b',stats(1)%相关系数

运行结果:

    

1、2阶多项式的系数,b1=  -1.6014e+08;b2=  1.5855e+05 ; b3=  -39.239,相关系数R²= 0.97483

2阶多项式方程:y=-1.6014e+08+1.5855e+05 x -39.239 x²

2、3阶多项式的系数,b1=0 ;b2=-80692;b3= 79.898 ;b4=-0.019776,相关系数R²= 0.97483

3阶多项式方程:y=-80692 x +79.898 x² -0.019776 x³