在Matlab中求解特殊线性方程组(GNU倍频程)

在Matlab中求解特殊线性方程组(GNU倍频程),matlab,octave,linear-algebra,Matlab,Octave,Linear Algebra,我有一个矩阵,假设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

我有一个矩阵,假设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
我需要它像线性方程组一样求解它,看起来像这样(我可以自己转置它,但是用符号变量乘以它会让我陷入麻烦):

我可以在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
,…

的形式返回解决方案,或者我误解了您的问题,您实际上想要解析符号部分?您答对了,数字与示例中的数字匹配。虽然它的工作原理对我来说很神奇,但谢谢你!:)@delmadord如果这回答了您的问题,我建议从标题和标签中删除“符号数学”部分:)
M=sym(A);
v=sym('[a;b;c;d;e]');
sol=solve(M*v==v,sum(v)==1);