matlab用lu求逆矩阵,Matlab实现——求矩阵的逆(LU分解)
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分解)相关推荐
- 求逆矩阵计算机方法,求逆矩阵的快速方法(用于编程).pdf
求逆矩阵的快速方法(用于编程) ? ? 1 2 2 2 Ρ Ρ Ρ Ρ Ρ ? Α Α Α Α Α Α 3 Α Β Β Β 3 Α Β Α Β Α Β Α Β Β Β Β 第 20 卷第 1 期 大 ...
- 简单易懂逆矩阵,终于明白矩阵的逆到底有什么用
本文转载自http://www.sohu.com/a/226465524_224832,讲得非常好 首先,我们先来看看这个数的倒数: ·倒数 其实矩阵的逆矩阵也跟倒数的性质一样,不过只是我们习惯用A- ...
- matlab用lu求逆矩阵,Matlab实现——求矩阵的逆(LU分解) | 学步园
Program ( :Solve By Factorization with Pivoting ) 思路及原理: 就得到: 程序: function X=Ni(A) %Input - A is an ...
- 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; ...
- 高斯消元法求逆矩阵 matlab,高斯消元法求逆矩阵
有多组测试数据.每组测试数据先输入一个整数n,表示方阵的阶.然后下面输入n阶方阵.输出其逆矩阵.若无逆矩阵,则输出No inverse matrix. #include #include #inclu ...
- 增广矩阵求逆矩阵MATLAB实现
%输入矩阵A,矩阵阶数n,输出矩阵W为A的逆矩阵,注意,该代码需要保证矩阵A的各阶主子式都可逆 function W = matrixinv(A,n) WW=zeros(n,2*n) ...
- matlab求逆矩阵_MPU6050姿态解算2-欧拉角amp;旋转矩阵
1 IMU姿态解算 IMU,即惯性测量单元,一般包含三轴陀螺仪与三轴加速度计.之前的文章 码农爱学习:MPU6050姿态解算方式1-DMPzhuanlan.zhihu.com 已将对MPU6050这 ...
- matlab中的a逆怎么使用方法,Matlab求逆矩阵怎么操作?求逆矩阵方法详解
现在使用Matlab的朋友越来越多,而接下里的这篇文章小编就带来了Matlab求逆矩阵的操作方法,感兴趣的朋友就跟小编一起来学习一下吧. Matlab求逆矩阵的操作方法 方法一:用inv()函数求矩阵 ...
- 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 ...
最新文章
- 0011_练习题d1
- 有多少人在51job上找到工作_打工人都是人上人的原因找到了!
- 2019-10-12 欧拉公式的理解
- java poi 解析excel_Java用POI解析excel并获取所有单元格数据
- 项目中会用到的开源项目列表
- git 提交代码的步骤
- 2021 年 Java 开发者生产力报告
- html select ajax,AJAX 动态加载后台数据 绑定select的方法
- 基于Qt的海康威视SDK二次开发-摄像头登陆、预览和抓图
- 国际短信平台哪家好?
- 最齐全的企业BI建设地图,附高清完整版BI知识图谱
- java泛型类型推断_Java 泛型-类型推断
- Android播放视频时屏幕保持唤醒不息屏
- 随身系统veket linux v3.11简体中文免费版,上网本操作系统(veket)
- 关于嵌入式的技术竞争力需要花点时间整理一下给大家
- Java 实现sha_Java实现SHA算法的方法详解
- IE中不能自动选择UTF-8编码的解决办法
- 软件推荐-国内参数优化软件:1stOpt - First Optimizationg
- 会计初级可以自己报名吗_初级会计考试可以自学吗?我刚完成报名
- OpenGL系列教程之十一:OpenGL网格化
热门文章
- html 发布后样式乱,outlook2010 已发送邮件格式为何变乱了(htmalrtf),但是收件人显示仍然为html的正常格式....
- php环境搭建(正确配置nginx和php)
- Java 10 新特性介绍
- 突破生产力结界,华为平板M5的因与革
- 最大的计算机存储单位是什么情况,最大的内存单位是什么?
- 1.周宣王闻谣轻杀 杜大夫化厉鸣冤-《东周列国志》
- macos 去掉软件更新角标_AVID软件问题导致Mac Pro崩溃
- PPT表格内文字无法对齐怎么办?
- Linux系统编程-02(vim-gcc-动态库静态库)
- Excel中一列数据变多列公式