2013-03-12 68 views
0

爲了對相當大的數據集進行二次迴歸,我想用svd(奇異值分解)求解以下等式: B(nx1)= A( nx3)* X(3x1) 我想使用matlab的,任何提示?目標是計算矩陣X在二次迴歸中使用奇異值分解(svd)

+0

很難說,因爲您的問題太含糊。首先自己試試看,看看你是否卡住了。 – 2013-03-12 23:38:40

回答

0

看起來你所謂的二次迴歸實際上是最小平方誤差迴歸。在這種情況下,計算是非常簡單:

1)由A乘以兩個左側 '(3XN)抵達

A'(3XN)B(NX1)= A'(3XN)A(NX3) X(3×1)

2)現在由A '(NX1)A(NX3)抵達

INV(A'(3XN)A(NX3))A'的倒數相乘兩個左側(3XN )B(nx1)= X(3x1)

3)現在使用svd來評估上面的逆,參見Most efficient matrix inversion in MATLAB

另請參見Minimizing error of a formula in MATLAB (Least squares?)