0

为了对相当大的数据集进行二次回归,我想使用 svd(奇异值分解)求解以下方程: B(nx1)=A(nx3)*X(3x1) 我正在考虑使用 matlab那,任何提示?目标是计算矩阵 X

4

1 回答 1

0

看起来你所说的二次回归实际上是最小平方误差回归。在这种情况下,计算非常简单:

1) 两边乘以 A'(3xn) 到达

A'(3xn)B(nx1) = A'(3xn)A(nx3) X(3x1)

2) 现在将两边乘以 A'(nx1) A(nx3) 的倒数到达

inv(A'(3xn)A(nx3))A'(3xn)B(nx1) = X(3x1)

3) 现在使用 svd 来计算上面的逆矩阵,请参阅在 MATLAB 中最有效的矩阵求逆

另请参阅最小化 MATLAB 中公式的误差(最小二乘?)

于 2013-03-13T04:05:56.623 回答