MATLAB与线性代数--逆矩阵与伪逆矩阵
求逆矩阵与伪逆矩阵
矩阵A
的逆矩阵用
表示,并且满足下面的关系:
看下面的矩阵方程:
如果A
的逆矩阵存在,那么解可以写成:
在MATLAB
输入下面的命令就可以计算矩阵A
的逆矩阵
但是逆矩阵并不一定存在,所以我们可以用矩阵的行列式来判断逆矩阵是否存在,如果
那么逆矩阵不存在,这时我们说此矩阵是一个奇异矩阵。
下面是一个2x2
矩阵的例子
首先检查矩阵的行列式:
>> A = [2 3; 4 5];
>> det(A)
ans =-2
由于行列式不等于0,此矩阵的逆矩阵存在,下面进行逆矩阵的求解:
>> inv(A)
ans =-2.5000 1.50002.0000 -1.0000
又如:
>> S = [1 0 -1 2; 4 -2 -3 1;0 2 -1 1;0 0 9 8];
>> det(S)
ans =-108
行列式不等于0,逆矩阵T存在:
>> T = inv(S)T =-0.9259 0.4815 0.4815 0.1111-0.6296 0.1574 0.6574 0.0556-0.5926 0.1481 0.1481 0.11110.6667 -0.1667 -0.1667 0
检验一下:
>> S * T
ans =1.0000 0 0 00.0000 1.0000 -0.0000 00.0000 -0.0000 1.0000 00 0 0 1.0000
来自于四舍五入误差,用另一种方式检查可以避免错误:
>> T * S
ans =1.0000 0 0 00 1.0000 0 0.00000 0 1.0000 00 0 0.0000 1.0000
用逆矩阵求解方程
考虑方程:
系数矩阵是:
>> A =[3 -2; 6 -2]
A =3 -26 -2
Ax= b
中的向量b
是:
>> b = [5;2]
b =52
我们来检查A
的行列式来确保A
的逆矩阵存在:
>> det(A)
ans =6
解为:
>> x = inv(A) * b
x =-1.0000-4.0000
解的特殊情况
如果方程组的个数比未知数的个数少,此时方程组称为欠定。
这意味着方程组有无数解,因此此时方程组只有一些未知数能能够确定下来,不能确定的可以赋予任意值,因此可以得到无限组解。
我们举个简单例子
稍微处理可以得到:
在这个方程组中,我们可以为两个变量找到值(x
和z
),第三个变量y
是不确定的。我们可以为y
选择自己喜欢的值,此时方程组就有解了。
另一种方程组存在无限解的情况是当det(A) = 0
时,此时我们引入伪逆矩阵(属于广义矩阵)的概念
解的办法是为未知数给出最小范数实数解,即是说,解向量x
具有最小范数且元素都为实数,我们拿一个线性方程组来举例:
很明显,这个方程具有无限解,我们输入数据:
>> A = [3 2 -1;0 4 1];
>> b = [7;2];
>> C = [A b];
现在计算秩:
>> rank(A)
ans =2
>> rank(C)
ans =2
由于这些秩相等,解存在,可以使用左除产生一组解:
>> x = A\b
x =2.00000.50000
MATLAB
通过把其中一个变量设为0来产生一组解。
此时的矩阵A
不是一个方阵,不能算行列式,所以可以使用伪逆矩阵来解这个方程组。输入以下内容:
>> x = pinv(A) * b
x =1.66670.6667-0.6667
MATLAB
使用穆尔-彭罗斯法计算pinv
MATLAB与线性代数--逆矩阵与伪逆矩阵相关推荐
- 线性代数笔记:逆矩阵及伪逆矩阵,最小二乘估计,最小范数估计
逆矩阵及伪逆矩阵,最小二乘估计,最小范数估计 逆矩阵的概念 我们为什么需要逆矩阵? 伪逆矩阵和最小二乘估计 正则化求伪逆矩阵 逆矩阵的概念 矩阵A的逆矩阵(matrix inversion)记作A−1 ...
- 逆矩阵、伪逆矩阵:数据的压缩和复原
逆矩阵.伪逆矩阵.数据的压缩和复原:这一块知识虽然很简单,但在光学各种实验情况下经常用到,特此总结. 矩阵的乘法 (观测矩阵):C = A* B C:M*1 A:M*N B:N*1 A可以理解为一个转 ...
- 【深度学习基础】:线性代数(三)_逆矩阵与伪逆矩阵
一.矩阵的逆 定义 2.Python 2.1 Numpy import numpy as npA = np.array([[1,2],[3,4]])# 求逆矩阵A_inv = np.linalg.i ...
- 奇异矩阵,非奇异矩阵,伪逆矩阵
奇异矩阵就是Singular Matrix 的中文翻译. Singular 就是唯一的,可以想成是单身狗,所以他没有对象 逆矩阵. Non-singular的非奇异矩阵就是Couple 有逆矩阵. 奇 ...
- 奇异矩阵和非奇异矩阵,伪逆矩阵
奇异矩阵: 奇异矩阵是线性代数的概念,就是对应的行列式等于0的矩阵. 奇异矩阵的判断方法:首先,看这个矩阵是不是方阵(即行数和列数相等的矩阵.若行数和列数不相等,那就谈不上奇异矩阵和非奇异矩阵). 然 ...
- pinv--求矩阵的伪逆矩阵
pinv--求矩阵的伪逆矩阵 [功能简介]用于求矩阵的伪逆矩阵. [语法格式] 1.B=pinv(A) 函数返回矩阵A的伪逆矩阵.如果矩阵A是可逆(非奇异)的,那么pinv(A)与inv(A)的结果是 ...
- 【转录调控网络】典型的基因转录调控网络推导方法——伪逆矩阵模型
基因转录调控网络推导方法--伪逆矩阵模型 在基因调控网络推导中,使用到的 基因芯片数据通常具有 样本个数少(通常小于10)而 基因数目大(通常大于1000)的局限性,也就是说,实验样本个数远远小于基因 ...
- 关于数学库Eigen两个常用函数实现(伪逆矩阵和协方差矩阵)
关于数学库Eigen两个常用函数实现(伪逆矩阵和协方差矩阵) cov pinv 实现代码
- 一分钟读懂:矩阵的特征值分解、奇异值分解和伪逆矩阵
通过把矩阵运算分解成多个矩阵的乘法,可以简化矩阵运算,也可发现对应线性变换的一些内在规律和特性.根据不同的目的,有不同的分解策略.本文我们讨论最常用的特征值分解和奇异值分解. 1. 矩阵的乘方运算 定 ...
最新文章
- IDEA下spring boot项目打包war包部署外部tomcat问题
- 如何根据C编程语言标准初始化结构
- C/C++/Java 的基本数据类型
- 微信小程序中base64格式的小程序码通过canvas画出来无效
- linux写入二进制文件内容,linux – 从管道读取数据并写入标准输出,中间延迟.必须处理二进制文件...
- 大湾区网络安全大会开幕在即,五个看点揭秘
- 用户DSN、 系统DSN 、文件DSN
- [原译]实现IEnumerable接口理解yield关键字
- 广谱感应水处理器详细说明
- 有关javaSE下载时,环境配置path不成功,在cmd命令中java,javac,java -version出现不是内部或外部命令的现象处理
- DHTMLET-Cascading Style Sheet 2.0 中文手册
- java中BigDecimal求余
- Python9-前端基础知识-day47
- 【IIOT】欧姆龙PLC数采之CP系列
- vue调用电脑端摄像头实时拍照
- 决策树实例-泰坦尼克幸存者预测
- iOS摸鱼周报 第二期
- app自动化测试appium教程之三——appium基础命令(python)
- VS2010 数据库操作(基于Access 2013)
- 市场调研团体怎么使用无人系统生产更安全
热门文章
- windows安装kafka 2.8.1以及创建主题(topic)生产者和消费者消息接收和发送
- 某项目的双代号网络图如下所示_某项目的双代号网络图如下所示,该项目的工期为()。...
- 计算机专业用r5跟i5,笔记本电脑r5和i5区别
- ISO20000 Foundation, Practitioner, Auditor
- 在iPad抓包的方法
- 【吟风听云】推锅扑克牌型规则说明(端锅子牌型说明/扑克版牌九规则)
- XDR的过去、现状与未来
- python科学计算可视化好慢_Python科学计算三维可视化 1
- 自定义Dialog对话框(实现微信分享对话框)
- 19C dbca DBT-50000 DBT-50001 方法