%输入矩阵A,矩阵阶数n,输出矩阵W为A的逆矩阵,注意,该代码需要保证矩阵A的各阶主子式都可逆
function W = matrixinv(A,n)
WW=zeros(n,2*n);
W=zeros(n,n);
WW(:,1:n)=A;
WW(:,n+1:2*n)=eye(n)
for i=1:n-1
for j=1:n-i
WW(i+j,:)=WW(i,:)*(-WW(i+j,i)/WW(i,i))+WW(i+j,:);
end
end
for i=1:n-1
for j=1:n-i
WW(n+1-i-j,:)=WW(n+1-i,:)*(-WW(n+1-i-j,n+1-i)/WW(n+1-i,n+1-i))+WW(n+1-i-j,:);
end
end
for i=1:n
WW(i,:)=WW(i,:)/WW(i,i)
end
W=WW(:,n+1:2*n);
end