[英]Solve special system of linear equations in Matlab (GNU Octave)
我有一個矩陣,讓我們說5x5看起來像這樣:
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運算符\\
某些步驟后得到結果來求解線性方程組?
你可以解決方程組沒有?
>>[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
一個象征性的解決方案:
M=sym(A);
v=sym('[a;b;c;d;e]');
sol=solve(M*v==v,sum(v)==1);
返回sol.a
, sol.b
,...形式的解決方案
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.