台湾国立大学郭彦甫Matlab教程笔记(22) Cramer's method(Inverse matrix逆矩阵法)
台湾国立大学郭彦甫Matlab教程笔记(22) Cramer’s method(Inverse matrix)
matrix left division左除:\ or mldivide()
solving systems of linear equations Ax=b using factorization methods:
求Ax=b中的x,只需要A\b
实际上,A\b这个算式matlab进行了很多判断,进行了很多演算,时间复杂度有点高
左除本质上也是succesive elemination 逐次消去法
看一个线性方程组
matlab指令:
A=[1,2,1;2,6,1;1,1,4];
b=[2;7;3];
x=A\b
执行的结果:算出来x的值:
一道练习题:需要结合上一次笔记
关键点在于用matlab中矩阵把线性方程表述出来,然后求解,应该不难。
笔者的练习如下:
思考:这里需要用符号法syms吗?
我的练习:
syms R1 R2 R3 R4 R5 V1 V2
A=[R1 0 0 R4 0; 0 R2 0 -R4 R5; 0 0 -R3 0 R5; 1 -1 0 -1 0; 0 1 -1 0 -1]
b=[V1;0;V2;0;0]
执行一下,发现可以:
接下来就是求解的问题了,我想到的是用左除\
x=A\b
运行结果,这个用符号表示的线性方程组解出来了。
下面讲一些矩阵分解的一些函数
Matrix decomposition funcitons矩阵分解函数
qr(): orthogonal-triangular decomposition 正交三角矩阵的分解
ldl(): Block LDL’s factorization for Hermitian indefinite matrices(厄密特不定矩阵)
ilu():Sparse稀疏 incomplete LU factorization 稀疏矩阵的LU不完全分解
lu();LU matrix factorization LU分解
chol(): Cholesky factorization Cholesky 针对的是正定矩阵的分解,也称平方根法
gsvd(): generalized singular value decomposition 广义奇异值分解
svd():singular value decomposition奇异值分解
下面来到 cramer’s method
Cramer’s(Inverse) method
A的逆矩阵: A^-1:inverse of A
可以求出x矩阵
Inverse Matrix逆矩阵
对于矩阵A,A的逆矩阵被定义为:
det(A)是矩阵A的行列式,是determinant的缩写
adj(A)是A矩阵的伴随矩阵(对整个矩阵求代数余子式,这些代数余子式构成的新的矩阵) 在这里是A中的a 和d 交换,b和c之间加负号
性质:
A的逆矩阵再取逆,还是A;
kA的逆矩阵等于1/k乘以A的inverse
接下来讲解如何用cramer’s method 求解 方程组
solving equations using Cramer’s Method
下面的方程组例子
我们要求解x
在matlab中
A=[1,2,1;2,6,1;1,1,4];
b=[2;7;3];
x=inv(A)*b
可以得到这个方程组的解
Cramer’s method 有一个问题:A的逆矩阵不一定存在
三元一次方程组 ,是三个平面之间的关系
可能有唯一解,可能无限解,可能无解
举例:矩阵中的两行成比例,A的逆矩阵不存在
singular matrix
成为奇异矩阵,退化矩阵,不可逆矩阵
下面是作业题:
我的思考:如何画一个平面
可能要用到plot3()函数
参考上几次的笔记:matlab3D画图函数
x=-20:0.1:20;
y=0:0.1:40;
[X,Y]=meshgrid(x,y);
Z1=-X-Y;
Z2=-X+Y;
Z3=-X/3;
hold on
mesh(X,Y,Z1,‘r’,X,Y,Z2,‘b’,X,Y,Z3,‘g’);
hold off;
报错:mesh不能这样用
修改成为下面这样:
x=-20:0.1:20;
y=0:0.1:40;
[X,Y]=meshgrid(x,y);%绘制网格
Z1=-X-Y;%三个平面的表达式
Z2=-X+Y;
Z3=-X/3;
hold on
mesh(X,Y,Z1);%绘图
mesh(X,Y,Z2);
mesh(X,Y,Z3);
hold off;
然后得到的结果:(使用的是按钮:三位旋转,画图出来之后,在菜单栏上有)
另外一个角度:
当然,也可以把mesh 替换为 surf()函数,这样更逼真
接下来回顾一下 Cramer’s Method 的problem
其实,这个奇异矩阵(或者不可逆矩阵)在这种情况下也是。当一个矩阵的行列式很接近于零的时候,也称为不可逆矩阵,这时候就不能用 Cramer’s method 来求解了
遇到 singular 的时候,想要另外处理
Functions to check matrix condition
两个函数:
1)cond:matrix condition number 判断矩阵是否健康,越小越健康(线性独立性越好)
2)rank(): matrix rank 矩阵的秩
比较两个矩阵:
如何看矩阵健不健康,需要Ax=b 这个原始公式,b已知,现在需要判断矩阵A健不健康
做法是:让A变化一点,看x变化多少,如果x变化很小,说明矩阵A很健康
用matlab看一下 两个矩阵的健康程度:从理论上讲,B矩阵比A健康
A=[1 2 3; 2 4.0001 6; 9 8 7];
cond(A)
B=[1 2 3; 2 5 6; 9 8 7];
cond(B)
可以看出来A矩阵是一个 ill-conditioned 的矩阵
【总结一下】
本文记录了线性方程组的解法(二):逆矩阵的方法。
同时学习了一下singular矩阵(奇异矩阵)的知识。
会使用cond()函数判断矩阵是否健康,使用rank()函数求得矩阵的秩(几个线性独立的向量)
台湾国立大学郭彦甫Matlab教程笔记(22) Cramer's method(Inverse matrix逆矩阵法)相关推荐
- 台湾国立大学郭彦甫Matlab教程笔记(21)linear equations(高斯消去法和追赶法)
台湾国立大学郭彦甫Matlab教程笔记(21) today: linear equation 线性方程 linear system 线性系统 我们先看第一部分 linear equation 假定一个 ...
- 台湾国立大学郭彦甫Matlab教程笔记(20) root finding(numeric)
台湾国立大学郭彦甫Matlab教程笔记(20) root finding(numeric) symbolic vs. numeric符号法和数值法的区别对比 symbolic 1)advantages ...
- 台湾国立大学郭彦甫Matlab教程笔记(17)numerical integration
台湾国立大学郭彦甫Matlab教程笔记(17)numerical integration 数值积分 calculating the numerical value of a definite inte ...
- 台湾国立大学郭彦甫Matlab教程笔记(16) 数值微分 numerical differentiation
台湾国立大学郭彦甫Matlab教程笔记(16) 数值微分 numeric differentiation 复习:diff()函数用来计算vector前后 entry的差异 数值微分继续 various ...
- 台湾国立大学郭彦甫Matlab教程笔记(15)polynomial integration 多项式积分
台湾国立大学郭彦甫Matlab教程笔记(15) Polynomial integration多项式积分 一个多项式和它的积分如下 MATlAB中如何计算积分? polynomial integrati ...
- 台湾国立大学郭彦甫Matlab教程笔记(14)polynomial differentiation多项式微分
台湾国立大学郭彦甫Matlab教程笔记(14) today: polynomial differentiation and integration多项式微分与积分 numerical differen ...
- 台湾国立大学郭彦甫Matlab教程笔记(12) advanced 2D plot 下
台湾国立大学郭彦甫Matlab教程笔记(12) advanced 2D plot 下 上文记录的是关于统计的图标的绘制 下面我们来到另一个模块:颜色 fill()填充函数 功能:某一个封闭曲线,图上特 ...
- 台湾国立大学郭彦甫Matlab教程笔记(11) advanced 2D plots 上
台湾国立大学郭彦甫Matlab教程笔记(11) today: 1.advanced 2D plots 2.color space色彩使用 3.3D plots 图形概览,做研究的时候需要选择图形 sp ...
- 台湾国立大学郭彦甫Matlab教程笔记(9) basic plotting
台湾国立大学郭彦甫Matlab教程笔记(9) today: 1.basic plotting 2.graphical objects properties basics matlab has a po ...
最新文章
- nginx location 配置详细解释
- 第一家科创板IPO的AI公司:年净利1.58亿,华为小米背后功臣,北大物理系校友创办...
- html多窗口排列顺序,多窗口页面(Frames)
- [转]ReiserFS与ext3的比较
- 学习 SQL 语句 - Select(4): 排序
- Apache 和 Tomcat 服务器的区别
- leetcode 563 二叉树的坡度
- Echarts数据可视化series-heatmap热力图,开发全解+完美注释
- Django 结构及处理流程分析
- 光谱共焦的测量原理及厚度测量模式
- 前端学习之路---node.js(二)
- 亚马逊服务器 购买 流程_亚马逊环如何使我们对购买的每种产品都抱有偏执
- 【二维数组】方阵主对角线元素对换
- Apache Passenger配置常用参数解读
- 3_IMX6ULL启动流程
- linux下通过串口ftp,eftp简单文件传输工具支持串口、网络、Windows、Linux、单片机平台-博客...
- 蓝桥杯软件类竞赛---手算题攻略
- 机器人的灵魂(1)——单片机C程序开发
- 人工智能在安防领域应用及UltraLAB EX系列高性能图形工作站
- 微信能上网,而浏览器不能上网