matlab怎么利用矩阵计算多项式拟合?如y=[1 2 3 4];x=[1 2 3 44 5 6 77 8 9 10];可以这样x1=[1 2 3 4];x2=[4 5 6 7];x3=[7 8 9 10];x=[ones(4,1),x1',x2',x3'];a=regress(y,x)求得a;我想知道可不可以简便一点,直接用x=[x1;x2;x3]这样求解

问题描述:

matlab怎么利用矩阵计算多项式拟合?
如y=[1 2 3 4];
x=[1 2 3 4
4 5 6 7
7 8 9 10];
可以这样
x1=[1 2 3 4];
x2=[4 5 6 7];
x3=[7 8 9 10];
x=[ones(4,1),x1',x2',x3'];
a=regress(y,x)
求得a;
我想知道可不可以简便一点,直接用x=[x1;x2;x3]这样求解

当然可以按你所说的求解,关键是看你建立的回归模型的意义.
还有,从回归原理看,一般认为回归方程要有常数项,这样才能保证回归的有效性.比如,如果没有 ones(4,1) 这一列,matlab会提示:
R-square and the F statistic are not well-defined unless X has a column of ones.
也就是没有ones(4,1),模型的有效性将会被质疑.