2011-05-16 259 views
0

我有5個未知數的方程組(共5個)。我已經將這些設置爲矩陣來嘗試解決,但我不確定這是否正確。基本上設置是AX = B,其中A,XB是矩陣。 A是一個5x5,X是一個1x5和B是一個5x1。MATLAB矩陣問題

當我使用MATLAB來解決使用公式X = A\BX,它給了我一個警告:

 
Matrix is singular to working precision. 

,給我0所有5個X未知數,但如果我說X = B\A它doesnt,並給出我的數值爲未知數。

任何人都知道我在做什麼錯了?在這種情況下,重要的是,這是我的X矩陣的樣子:

X= [1/C3; 1/P1; 1/P2; 1/P3; 1/P4] 

C3P1P2P3P4是我的未知數。

+2

「X」也必須是5x1。 – abcd 2011-05-16 14:26:11

回答

3

您的矩陣是單數,這意味着它的行列式爲0.這樣的等式系統不能爲您提供足夠的信息來找到唯一的解決方案。我在你的問題中看到一件奇怪的事情,那就是X是1x5,而B是5x1。這是不是提出問題的正確方法。 XB必須是5x1。如果你想知道,這是而不是一個Matlab的東西 - 這是一個線性代數的東西。這[5x5]*[1x5]是非法的。這[5x5]*[5x1]產生[5x1]結果。這[1x5]*[5x5]產生[1x5]結果。首先檢查代數,然後檢查行列式(Matlab中的det函數)是否爲0.

+0

知道這是我的錯誤;)檢查它,我的矩陣A是5x5,矩陣B是5x1,矩陣X也是5x1。這是否更有意義?我的線性代數目前是一個小小的shakey。 – Sysem 2011-05-16 14:35:04

+0

是的,這就是它應該的樣子。你檢查過矩陣的行列式是否爲0嗎? – Phonon 2011-05-16 14:38:18

+0

是的,矩陣A的det是0,那麼問題出在哪裏?我從我的方程式中得出矩陣時一定犯了錯誤。 – Sysem 2011-05-16 14:42:19

0

因此,接下來要弄清楚爲什麼A是單數。 (請注意,這可能是你想要解決

A x = b

與方形和奇異A案件,但他們願意在情況b是在A範圍內的空間。)

也許你可以寫你的矩陣A和向量​​b出(因爲它只有5x5)?或者解釋你如何創建它。這可能會提供一個線索,說明爲什麼A不是全排名或爲什麼b不在A的範圍空間中。