2015-03-19 46 views
-2
H = [1 2; 3 4; 5 6; 7 8; 9 10; 11 12; 13 14; 15 16]; 
    X = [7; 9]; 
    Y = H*X; 
    H1 = Y/X; 

這是我的代碼。正如你所看到的,我試圖恢復H值。但是,它給了我別的東西。我試圖使用inv(),但這是不可能的,因爲X不是方陣。Matlab分區,無法取回答案

回答

1

您不能通過劃分秩1的值來得到秩2的值。系統不受約束。

mrdividepinv(用於僞逆)都可以用來獲得a解決方案的系統。因爲有多種解決方案,所以不一定就是你開始使用的解決方案。相反,您會得到一個「最簡單」的解決方案,無論是最低基數還是最低2範數,取決於您使用的是mrdivide還是pinv

這裏,pinv文檔頁面可能比我更精確地解釋它。只要注意它正在討論X\Y,而不是Y/X

如果A比列多行滿秩的不是,那麼超定最小二乘問題

minimize norm(A*x-b) 

沒有一個獨特的解決方案。無限許多解決方案中有兩個是

x = pinv(A)*b 

y = A\b 

這兩個是由事實來區分這norm(x)比任何其他解決方案的規範小和y具有儘可能少的非零分量。