2015-10-13 64 views
1

我有一個矩陣,讓我們說5x5的看起來像這樣:求解線性方程組的特殊的系統在Matlab(GNU八度)

  0   0   0   1   0 
      0   0   0  4/5  1/5 
     3/5  1/5  1/5   0   0 
     1/5  2/5  1/5  1/5   0 
     1/10  1/10  2/5  1/5  1/5 

我需要它來解決它喜歡看這樣的線性方程組的系統(我可以移調它自己,但隨後的符號變量乘以它使我陷入麻煩):

0 * a +  0 * b + 3/5 * c + 1/5 * d + 1/10 + e = a 
    0 * a +  0 * b + 1/5 * c + 2/5 * d + 1/10 + e = b 
    0 * a +  0 * b + 1/5 * c + 1/5 * d +  2/5 + e = c 
    1 * a + 4/5 * b +  0 * c + 1/5 * d +  1/5 + e = d 
    0 * a + 1/5 * b +  0 * c +  0 * d +  1/5 + e = e 
     a +   b +   c +   d +   e = 1 

我可以很容易地解決這個問題的wxMaxima,但我不得不手工編寫所有的值存在,這是越來越繁瑣與更大的矩陣。

有沒有辦法在使用matlab運算符\解決線性方程組的一些步驟後得到結果?

回答

3

你可以求解方程組嗎?

>>[A-eye(5);ones(1,5)]\[0,0,0,0,0,1]' 
ans = 

    0.1729 
    0.2061 
    0.1345 
    0.4350 
    0.0515 

>> sum(ans) 

ans = 

    1.0000 
+0

還是我誤解你的問題,你實際上要解析符號的一部分? – percusse

+0

你說得對,數字與示例中的數字相符。雖然它對我來說很神奇,但它是如何工作的,謝謝! :) – delmadord

+0

@delmadord如果這回答你的問題,我建議從標題和標籤中刪除「符號數學」部分:) –

0

而且一個象徵性的解決方案:

M=sym(A); 
v=sym('[a;b;c;d;e]'); 
sol=solve(M*v==v,sum(v)==1); 

回報的解決方案的形式sol.asol.b,...