矩阵定律和语法matlab

时间:2016-04-25 06:51:30

标签: matlab math matrix

我的代码中发生了什么?我不明白为什么我得到2个不同的不同矩阵当^ -1 * b ^ -1 =(a * b)^ - 1我尝试用另一种语言写作但是我一直得到相同的不等式。 / p>

输入:

A = [3 5 2; 2 1 -1; 1 2 2]; 
B = [6 -2 4; 6 4 -12; 12 2 8];

inverseA = A^(-1);
inverseB = B^(-1);

inverseMult = inverseA * inverseB;
inverseMatMult = (A*B)^(-1);

equalityCheck = inverseMult == inverseMatMult;

disp(inverseMult)
disp(inverseMatMult)
disp(equalityCheck)

输出:

   -0.4038   -0.0863    0.1974
    0.3224    0.0923   -0.1478
   -0.1518   -0.0804    0.0804

   -0.0317    0.0615    0.0694
    0.1190   -0.2619   -0.1667
   -0.0357   -0.0089    0.0625

    0     0     0
    0     0     0
    0     0     0

2 个答案:

答案 0 :(得分:9)

您假设身份不正确 - 应该是:

    $(document).ready(function(){
         $('.custom-select').change(function(){
          if($(".custom-select option:selected").index() == 1){
             $('#std-list').show();          
          }else{
             $('#std-list').hide();
          }
         });
    });

(参见有用的可逆矩阵标识列表here。)

所以如果你改变这一行:

(A*B)^-1 = B^-1 * A^-1

为:

inverseMatMult = (A*B)^(-1);

然后你应该得到预期的结果。 (请注意,由于舍入错误,相等性检查可能仍会失败,但您应该看到两个结果矩阵与有效数量的有效数字相同。)

答案 1 :(得分:1)

您可能需要重新检查等式。

可能是因为(a * b)^ - 1 =(b)^ - 1 *(a)^ - 1;

           function [t2,t3,t4]= matrixidentity()
           a = [3 5 2; 2 1 -1; 1 2 2];
           b = [6 -2 4; 6 4 -12; 12 2 8];
           t=a^-1;t1=b^-1;
           t2=(a*b)^-1;
           t3=t1*t; 
           t4=t*t1;
           end




           t2 =

                  -0.0317    0.0615    0.0694
                   0.1190   -0.2619   -0.1667
                  -0.0357   -0.0089    0.0625


           t3 =

                  -0.0317    0.0615    0.0694
                   0.1190   -0.2619   -0.1667
                  -0.0357   -0.0089    0.0625


           t4 =

                 -0.4038   -0.0863    0.1974
                  0.3224    0.0923   -0.1478
                 -0.1518   -0.0804    0.0804

在这里你可以看到t2 == t3,因此等式(a * b)^ - 1 =(b)^ - 1 *(a)^ - 1成立,而

(a * b)^ - 1 =(a)^ - 1 *(b)^ - 1不成立。

希望它有所帮助!!