⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mat_inv.m

📁 一套科学运算语言 MATLAB 的程序设计有关的函数代码!!!
💻 M
字号:
function iA=mat_inv(A)
%MAT_INV 函数用来演示矩阵的递归分块求逆。
%
%  iA=mat_inv(A)
%
%  其中,A 为原矩阵, iA 为逆矩阵。

%Designed by Prof D Xue (c) 2000
[nr,nc]=size(A);
if nr==nc
   switch nr
   case 1, 
      iA=1/A;
   case 2,
      detA=A(1,1)*A(2,2)-A(1,2)*A(2,1);
      iA=[A(2,2), -A(1,2); -A(2,1), A(1,1)]/detA;
   otherwise, 
       iA=partinv(A,2,nr);
   end   
else, error('Matrix must be square.'); end   

%PARTINV sub-function: matrix inversion by partitions
function iA=partinv(A,n1,nr)
A11=A(1:n1,1:n1); A12=A(1:n1,n1+1:nr);
A21=A(n1+1:nr,1:n1); A22=A(n1+1:nr,n1+1:nr);
iA11=mat_inv(A11);
B22=mat_inv(A22-A21*iA11*A12); B12=-iA11*A12*B22;
B21=-B22*A21*iA11; B11=iA11-B12*A21*iA11;
iA=[B11, B12; B21,B22];

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -