学习matlab矩阵运算中发现两种方法:
B = A^-1;
B = ((A'*A)^-1)*(A');
1.B=A^-1;
2.B=((A'×A)^-1)×(A');
方法2通过变换其实和方法1是一样的,那这样写有什么好处吗?
学习matlab矩阵运算中发现两种方法:
B = A^-1;
B = ((A'*A)^-1)*(A');
1.B=A^-1;
2.B=((A'×A)^-1)×(A');
方法2通过变换其实和方法1是一样的,那这样写有什么好处吗?
这两种方法都可以用于求矩阵的逆矩阵,但它们的实现方式不同,并且适用于不同类型的矩阵。下面是它们的具体区别:
方法1是直接使用 Matlab 内置函数 inv() 或者左除运算符 \ 来计算矩阵 A 的逆。当矩阵 A 是方阵且非奇异矩阵(即行列式不为零)时,该方法是最常用的求解逆的方法。
方法2是使用了矩阵变换来计算矩阵 A 的伪逆矩阵。在一些情况下,矩阵 A 不是方阵或者是奇异矩阵时,我们可以使用该方法计算它的伪逆矩阵(也称为广义逆矩阵)。其中,A'表示 A 的转置矩阵,(A' × A)^-1 表示 (A' × A) 矩阵的逆矩阵,而(A' × A)^-1 × A' 则是伪逆矩阵。
总的来说,如果要求解方阵且非奇异矩阵 A 的逆矩阵,那么应该使用方法1,也就是直接使用 Matlab 内置函数 inv() 或者左除运算符 \ 。而如果需要求解矩阵 A 的伪逆矩阵,或者矩阵 A 不是方阵或者是奇异矩阵时,则应该使用方法2。