A的伴随矩阵可按如下步骤定义:
1.把D的各个元素都换成它相应的代数余子式;
(代数余子式定义:在一个n阶行列式A中,把元所在的第行和第列划去后,留下来的阶行列式叫做元的余子式,记作即
,
叫做元的代数余子式)
注意:其中所求的为一个数值,并非矩阵。
2.将所得到的矩阵转置便得到A的伴随矩阵,
补充:(实际求解伴随矩阵即A*=adj(A):去除 A的行列式D中 元素对应的第行和第列得到的新行列式D1代替 aij,这样就不用转置了)
即: n阶方阵的伴随矩阵A*为
……
……
.... .....
……
例如:A是一个2x2矩阵,
a11,a12
a21,a22
则由A可得 Aij (I,j=1,2)为代数余子式
则A的伴随矩阵 A* 为
A11 A21
A12 A22
即
a22 , -a12
-a21, a11
(余子式定义:A关于第i 行第j 列的余子式(记作Mij)是去掉A的第i行第j列之后得到的(m -1)×(n - 1)矩阵的行列式。特殊规定:一阶矩阵的伴随矩阵为一阶单位方阵)
注意:在matlab中一阶矩阵的伴随矩阵是空矩阵。
matlab中没有直接求伴随矩阵的函数,所以可以通过编写程序实现。可参照: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 = [0 ce(1:(cesize-1))]
s = (-1)^(max(size(A))+1)
B = s*polyvalm(p,A)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)