如何利用MATLAB求解高阶方程的系数例如一个三阶方程y=a+bx+cx^2+dx^3知道X和Y的三组值,

问题描述:

如何利用MATLAB求解高阶方程的系数
例如一个三阶方程y=a+bx+cx^2+dx^3
知道X和Y的三组值,

依题意就变成了以下的方程组
%a+x(1)*b+x(1)^2*c+x(1)^3*d=y(1);
%a+x(2)*b+x(2)^2*c+x(2)^3*d=y(2);
%a+x(3)*b+x(3)^2*c+x(3)^3*d=y(3);
%写成矩阵的形式:xx(3*4)*aa(4*1)=y(3*1) 其中3*1表示3行1列
x=[1 2 3];y=[2; 1; 5];%依题意写入知道的X和Y的三组值
c=[0 1 2 3];
xx=zeros(3,4);
for i=1:3
xx(i,:)=x(i).^c;
end
aa=xx\y %因为是一个超定方程,即方程个数小于未知数个数只能得到一个特解
结果:
aa =
3.3636
0
-2.1364
0.7727