使用MATLAB在矩阵中找到未知值

时间:2011-08-01 10:30:58

标签: matlab

a= 1-b    -1        0;
   -1    3-1.5b    -2;
    0     -2      5-2b

如果矩阵的行列式等于零,那么b的值是多少?如果矩阵是6乘6,那么将要处理什么?请在MATLAB中编写指令。

3 个答案:

答案 0 :(得分:3)

通过行列式的定义,您可以将问题重新表述为找到第n个多项式的根。要么手工完成(对于3x3案例很容易),要么使用符号数学工具箱来完成。然后,您可以使用MATLAB roots函数来解决它。

答案 1 :(得分:0)

您可以使用Matlab使用广义特征向量一次性解决此问题:

       1-b    -1        0;    
       -1    3-1.5b    -2;   
        0     -2      5-2b 

可以重写为A + b * B其中

 A = [ 1  -1  0
       -1  3  -2
       0  -2   5];

B = diag([-1 -1.5 -2])

然后使用

求解b的可能值
[v,d] = eig(A,-B)

答案在d:

的对角线上
  0.351464727818363                   0                   0
                   0  1.606599092463833                   0
                   0                   0  3.541936179717803

答案 2 :(得分:-2)

如果矩阵的行列式为零,则它是一个奇异矩阵,你不能用简单的线性代数技术来解决它。你很可能有依赖方程组成矩阵a,但没有足够的数据来看。我建议使用Jacobi Iteration来解决此类问题。

但如果你没有给我们足够的细节或原始代码,我们真的无法帮助你。