Octave 线性代数 行列式 3

伴随矩阵

对n阶矩阵 A
AA* = A*A = |A|I
A* = (Aij)T

就是对每个元素,求代数余子式 然后转置

A^(-1) = 1/|A|A*
Octave 没有求伴随矩阵的函数
不过有
A* = |A|A^(-1)
所以有
adj(A) = det(A)*inv(A)
当然可以考虑自定义一个函数

定义法求伴随矩阵

定义函数adj.m

function H=adj(A)
n = size(A);
H = zeros(n);
for i = 1 : n
  for j = 1 : n
    Aij = A;
    Aij(:,i) = [];
    Aij(j,:) = [];
    H(i,j) = (-1)^(i+j)*det(Aij);
   end
  end

调用

>> A = [1 2 3;2 2 1;3 4 3]
A =

   1   2   3
   2   2   1
   3   4   3
>> adj(A)
ans =

   2.0000   6.0000  -4.0000
  -3.0000  -6.0000   5.0000
   2.0000   2.0000  -2.0000

你可能感兴趣的:(Octave 线性代数 行列式 3)