Program  (

:Solve By Factorization with Pivoting )

思路及原理:

就得到:

程序:

function X=Ni(A)

%Input - A is an N x N matrix

%Output - I is an N x N inverse matrix of A

%and I(j,:)containing the solution to AX(:,j) =E(:,j).

%Initialize X, Y,the temporary storage matrix C, and the row

% permutation information matrix R

[N,N]=size(A);

B=eye(N); %B is an N x N identity matrix

X=zeros(N,N);

Y=zeros(N,N);

C=zeros(1,N);

R=1:N;

%the next steps is to find the factorization(factorize for only once)

for p=1:N-1

%Find the pivot row for column p

[max1, j]=max(abs(A(p:N,p)));

%Interchange row p and j

C=A(p,:);

A(p,:)=A(j+p-1,:);

A(j+p-1,:)=C;

d=R(p);

R(p)=R(j+p-1);

R(j+p-1)=d;

if A(p,p)==0

'A is singular. No unique solution'

break

end

%Calculate multiplier and place in subdiagonal portion of A

for k=p+1:N

mult=A(k,p)/A(p,p);

A(k,p) = mult;

A(k,p+1:N)=A(k,p+1:N)-mult*A(p,p+1:N);

end

end

for j=1:N

%when j is fixed then the method is similar to the Program 3.3

%Solve for Y(:,j)

Y(1,j) = B(R(1),j);

for k=2:N

Y(k,j)= B(R(k),j)-A(k,1:k-1)*Y(1:k-1,j);

end

%Solve for X(:,j)

X(N,j)=Y(N,j)/A(N,N);

for k=N-1:-1:1

X(k,j)=(Y(k,j)-A(k,k+1:N)*X(k+1:N,j))/A(k,k);

end

end

如果运行程序可以看到:Ni(A)和inv(A)运算得到的逆矩阵是相同的

而且 A*Ni(A)=E 所以结果是令人满意的

此方法中LU非直接三角分解只用了一次,通过增加一个j的循环,实现方程组的逐个求解,将得到的N个解向量C(:,j)合到X中得到最终结果。

个人感觉此方法的稳定性不错,暂时不需要改进了吧。

设计这个程序的时候并没遇到什么困难,思路已经想好了:

求解N个方程AXj=Ej;只要通过两个矩阵的对应列向量来存储Xj和Ej以及增加一个j循环,然后利用原来的Program就能达到预期的目的。

matlab用lu求逆矩阵,Matlab实现——求矩阵的逆(LU分解)相关推荐

  1. 求逆矩阵计算机方法,求逆矩阵的快速方法(用于编程).pdf

    求逆矩阵的快速方法(用于编程) ? ? 1 2 2 2 Ρ Ρ Ρ Ρ Ρ ? Α Α Α Α Α Α 3 Α Β Β Β 3 Α Β Α Β Α Β Α Β Β Β Β 第 20 卷第 1 期 大 ...

  2. 简单易懂逆矩阵,终于明白矩阵的逆到底有什么用

    本文转载自http://www.sohu.com/a/226465524_224832,讲得非常好 首先,我们先来看看这个数的倒数: ·倒数 其实矩阵的逆矩阵也跟倒数的性质一样,不过只是我们习惯用A- ...

  3. matlab用lu求逆矩阵,Matlab实现——求矩阵的逆(LU分解) | 学步园

    Program  ( :Solve By Factorization with Pivoting ) 思路及原理: 就得到: 程序: function X=Ni(A) %Input - A is an ...

  4. matlab求逆矩阵以及行列式,求矩阵行列式和逆,手写的MATLAB程序

    行列式: %Aij = (-1)^(i+j)*Mij %D = a11*A11 + a12*A12 + a13*A13 + ... + a1n*A1n %H = [1 2 3;7 9 7;5 6 1; ...

  5. 高斯消元法求逆矩阵 matlab,高斯消元法求逆矩阵

    有多组测试数据.每组测试数据先输入一个整数n,表示方阵的阶.然后下面输入n阶方阵.输出其逆矩阵.若无逆矩阵,则输出No inverse matrix. #include #include #inclu ...

  6. 增广矩阵求逆矩阵MATLAB实现

    %输入矩阵A,矩阵阶数n,输出矩阵W为A的逆矩阵,注意,该代码需要保证矩阵A的各阶主子式都可逆 function W = matrixinv(A,n)          WW=zeros(n,2*n) ...

  7. matlab求逆矩阵_MPU6050姿态解算2-欧拉角amp;旋转矩阵

    1 IMU姿态解算 IMU,即惯性测量单元,一般包含三轴陀螺仪与三轴加速度计.之前的文章 码农爱学习:MPU6050姿态解算方式1-DMP​zhuanlan.zhihu.com 已将对MPU6050这 ...

  8. matlab中的a逆怎么使用方法,Matlab求逆矩阵怎么操作?求逆矩阵方法详解

    现在使用Matlab的朋友越来越多,而接下里的这篇文章小编就带来了Matlab求逆矩阵的操作方法,感兴趣的朋友就跟小编一起来学习一下吧. Matlab求逆矩阵的操作方法 方法一:用inv()函数求矩阵 ...

  9. matlab对多项式求导,matlab中多项式求导

    1 0.5 0 -0.5 -1 -1.5 -2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 4.对比用多项式函数的 polyder 函数及符号函数中的 diff 函数,求导 x2+2x ...

最新文章

  1. 0011_练习题d1
  2. 有多少人在51job上找到工作_打工人都是人上人的原因找到了!
  3. 2019-10-12 欧拉公式的理解
  4. java poi 解析excel_Java用POI解析excel并获取所有单元格数据
  5. 项目中会用到的开源项目列表
  6. git 提交代码的步骤
  7. 2021 年 Java 开发者生产力报告
  8. html select ajax,AJAX 动态加载后台数据 绑定select的方法
  9. 基于Qt的海康威视SDK二次开发-摄像头登陆、预览和抓图
  10. 国际短信平台哪家好?
  11. 最齐全的企业BI建设地图,附高清完整版BI知识图谱
  12. java泛型类型推断_Java 泛型-类型推断
  13. Android播放视频时屏幕保持唤醒不息屏
  14. 随身系统veket linux v3.11简体中文免费版,上网本操作系统(veket)
  15. 关于嵌入式的技术竞争力需要花点时间整理一下给大家
  16. Java 实现sha_Java实现SHA算法的方法详解
  17. IE中不能自动选择UTF-8编码的解决办法
  18. 软件推荐-国内参数优化软件:1stOpt - First Optimizationg
  19. 会计初级可以自己报名吗_初级会计考试可以自学吗?我刚完成报名
  20. OpenGL系列教程之十一:OpenGL网格化

热门文章

  1. html 发布后样式乱,outlook2010 已发送邮件格式为何变乱了(htmalrtf),但是收件人显示仍然为html的正常格式....
  2. php环境搭建(正确配置nginx和php)
  3. Java 10 新特性介绍
  4. 突破生产力结界,华为平板M5的因与革
  5. 最大的计算机存储单位是什么情况,最大的内存单位是什么?
  6. 1.周宣王闻谣轻杀 杜大夫化厉鸣冤-《东周列国志》
  7. macos 去掉软件更新角标_AVID软件问题导致Mac Pro崩溃
  8. PPT表格内文字无法对齐怎么办?
  9. Linux系统编程-02(vim-gcc-动态库静态库)
  10. Excel中一列数据变多列公式