2015-10-13 65 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,...