Matlab师,无法找回答案

时间:2015-03-19 02:05:26

标签: matlab matrix division

    H = [1 2; 3 4; 5 6; 7 8; 9 10; 11 12; 13 14; 15 16];
    X = [7; 9];
    Y = H*X;
    H1 = Y/X;

这是我的代码。如你所见,我试图找回H值。但是,它给了我别的东西。我试图使用inv()但这是不可能的,因为X不是方阵。

1 个答案:

答案 0 :(得分:1)

您不能通过除以等级1的值来获得等级2的值。系统不受约束。

mrdividepinv(伪逆)都可用于获取系统的 a 解决方案。因为有多种解决方案,所以不必是您开始使用的解决方案。相反,您将获得“最简单”的解决方案,无论是基数最低还是最低2范数,取决于您使用mrdivide还是pinv

在这里,pinv文档页面可能比我更精确地解释它。请注意,它正在讨论X\Y而不是Y/X

  

如果A的行数多于列而且不是满级,那么超定的最小二乘问题

minimize norm(A*x-b) 
     

没有独特的解决方案。无限多解决方案中的两个是

x = pinv(A)*b 
     

y = A\b 
     

这两个区别在于norm(x)小于任何其他解决方案的范数并且y具有最少可能的非零组件的事实。