jifeilong 发表于 2011-3-30 14:04:41

对不可逆矩阵怎样求伴随阵/伴随矩阵?

本帖最后由 messenger 于 2011-3-30 16:07 编辑

小弟刚开始学习matlab,现在要求一矩阵的伴随矩阵,可是这个矩阵不可逆,请问怎样在matlab中求该矩阵的伴随阵

mhkmars 发表于 2011-3-30 14:15:28

本帖最后由 mhkmars 于 2011-3-30 14:17 编辑

1# jifeilong
矩阵虽不可逆,但是还是有伴随矩阵的。
将原来的方阵的每一个元素所在的行与列去掉,得到的代数余子式的值,组成一个新方阵并且转置以后就是伴随矩阵。要求逆的话要再除以det(A)。
所以每个方阵都有伴随矩阵,但是不一定有逆。

如果想在matlab里面求伴随矩阵的话,如果可逆的话当然很好办了。如果不可逆,你就按照定义编程实现吧

messenger 发表于 2011-3-30 16:03:36

MATLAB自带的生成伴随矩阵的函数是compan(p),不过p只能是向量,一个多项式的系数向量,高次幂系数排在前,低次幂排在后。例如,为了求多项式的x3-7x+6的伴随矩阵,可使用命令:
如:
>> p=;
>> compan(p)

也可以试试fileexchange中的两个程序:
Adjugate (adjoint) of a Square Matrix
adj.m
function B = adj(A)
%求伴随矩阵
%ADJ Matrix adjoint.
% ADJ(A) is the adjoint matrix of square matrix A.
% It is computed using the Cayley-Hamilton Theorem.
% The inverse of A is: INV(A) = ADJ(A)/det(A).
%
% Matrices that are not invertable still have an adjoint.

%written by Paul Godfrey, April, 1998
%pjg@mlb.semi.harris.com

ce = poly(eig(A));
cesize = max(size(ce));
p = ;
s = (-1)^(max(size(A))+1);
B = s*polyvalm(p,A);

jifeilong 发表于 2011-3-31 20:11:49

刚开始学,有点看不懂啊

mhkmars 发表于 2011-3-31 20:41:34

4# jifeilong
好好看看线性代数你就懂了
页: [1]
查看完整版本: 对不可逆矩阵怎样求伴随阵/伴随矩阵?