为什么在MatLab中使用(^-1)矩阵连续求逆会出现问题?而使用inv函数计算的话,就没问题。
咨询大家一个问题:为什么在MatLab中使用(^-1)矩阵连续求逆会出现问题?而使用inv函数计算的话,就没问题。
首先输入一个矩阵:
a=[1 2; 3 4]
这里显示没问题。
a =
1 23 4
进行第一次 ^-1 计算,结果也没问题:
a^-1
ans =
-2.0000 1.0000
1.5000 -0.5000
再次进行连续的 ^-1 计算,结果也没问题:
a-1-1
ans =
1.0000 2.0000
3.0000 4.0000
从第三次开始,连续使用 ^-1 计算的话,结果就出问题了,回不到逆矩阵了(按理说应该能够回到逆矩阵上):
a-1-1^-1
ans =
1.0000 2.0000
3.0000 4.0000
a-1-1-1-1
ans =
1.0000 2.0000
3.0000 4.0000
不过,如果使用 () 的方式进行标定的话,计算也没问题。这样的话,是否说明 Matlab 中对于 ^-1 的符号判断和计算次序与我们平时的理解不一样呢?
——————————
为了便于大家测试,我把上面的过程贴在这里了:
a=[1 2; 3 4]
a^-1
a-1-1
a-1-1^-1
a-1-1-1-1
————————
以下是带有括号()的方式,反复求逆矩阵是没问题的:
a=[1 2; 3 4]
(a)^-1
((a)-1)-1
(((a)-1)-1)^-1
(((a-1)-1)-1)-1
a=[1 2; 3 4]
a =
1 23 4
(a)^-1
ans =
-2.0000 1.0000
1.5000 -0.5000
((a)-1)-1
ans =
1.0000 2.0000
3.0000 4.0000
(((a)-1)-1)^-1
ans =
-2.0000 1.0000
1.5000 -0.5000
(((a-1)-1)-1)-1
ans =
1 23 4
——————————
以下显示:使用 inv() 函数连续求逆没问题:
a=[1 2; 3 4]
a =
1 23 4
inv(a)
ans =
-2.0000 1.0000
1.5000 -0.5000
inv(inv(a))
ans =
1.0000 2.0000
3.0000 4.0000
inv(inv(inv(a)))
ans =
-2.0000 1.0000
1.5000 -0.5000
inv(inv(inv(inv(a))))
ans =
1 23 4
——————————
CZ @ 2020.05.03 11:07:39
为什么在MatLab中使用(^-1)矩阵连续求逆会出现问题?而使用inv函数计算的话,就没问题。相关推荐
- Matlab中创建一个矩阵的3种常用方法
Matlab中创建一个矩阵的3种常用 方法: 1. 直接法: A=[1 2 3;4 5 6]或A=[1,2,3;4,5,6]. 以上需 注意两点,第一,矩阵a大小不用提前设定,Matlab根据后边矩阵 ...
- MATLAB中判断一个矩阵或者数字是否是复数
假设变量为a,使用以下语句进行判断: 参考链接:MATLAB中判断一个矩阵或者数字是否是复数 if ~isreal(a)
- MATLAB中的复杂矩阵输入问题
MATLAB中的复杂矩阵输入问题 #如图矩阵 如何在MATLAB中输入,作为一个初入matlab的萌新...真的难到了诶 ZHO G
- matlab超出所有矩阵维度,matlab中索引超出矩阵维度
公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:matlab中索引超出矩阵维度?回答:beta=4; % beta 是一个常量 beta(alpha,beta) % beta 不是 ...
- python使用numpy中的np.linalg.det函数计算2D numpy数组的行列式的值、使用numpy中的np.linalg.inv函数计算2D numpy数组的逆矩阵
python使用numpy中的np.linalg.det函数计算2D numpy数组的行列式的值(determinant).使用numpy中的np.linalg.inv函数计算2D numpy数组的逆 ...
- matlab怎么扩展矩阵,Matlab中如何扩展矩阵,其他部分补零?
一.使用官方命令 blkdiag 在matlab中搜索:help blkdiag 下面是其官方事例: Construct block diagonal matrix from input argume ...
- 轮子——matlab中的随机数矩阵(rand randn randi 种子 normrnd randperm 对称)
在matlab中进行仿真时,经常需要对真实数据添加随机数噪声.本文内容参考内容见文末,对其进行适当总结并不定期再补充. 文章目录 rand randn randi 设定种子1 设定种子2 normrn ...
- Matlab中两种矩阵除法运算:右除 / 和左除 \ 的区别
首先,我们来看一道判断题: 如果A矩阵是非奇异方阵,则B/A等效于inv(A) * B.请问这句话正确还是错误? 答案放在文章最后. 有人问inv(A) 是什么? inv为inverse的缩写,有着翻 ...
- matlab 矩阵中的矩阵的特征值,当矩阵的所有条目都是变量时,如何在matlab中找出矩阵的特征值?...
在MATLAB中没问题. >> syms a b c d e >> M = [a*b -c -d 0 -c e -a -b-d -d -a d -e 0 -b-d -e a]; ...
最新文章
- Gradle sync failed: failed to find Build Tools revision 21.1.2
- [TensorRT] ERROR: Network must have at least one output
- Spring MVC入门示例教程--表单处理
- Objective-C设计模式——单例Singleton(对象创建)
- python建模 决策_决策树python建模中的坑 :ValueError: Expected 2D array, got 1D array instead:...
- mybatis框架增删改的注意事项 ,不同数据库取消转义的方法
- 初中计算机教学进度表,初中学校教学活动安排表.doc
- SAP计划策略组详细介绍
- linux下编译libyuv,Android ndk cmake编译libyuv
- (C语言)2048游戏实现
- 仿bing搜索页面制作(大概)
- 为什么amd显卡便宜却买的人少_这7张显卡现在最好不要买,千万不要花钱当冤大头...
- CentOS7.x Sysbench 测试mysql数据库性能(version:sysbench-1.1.0)
- psu 计算机 排名,PSU研究生计算机科学排名,真慎重来考察
- 洛谷P1551 亲戚
- cmd md命令 创建文件夹
- 数据结构----复习题
- 静下心来看一看花花世界花花人.
- Android中使用Post带参数请求的方法
- 麒麟子Javascript游戏编程零基础教程一:序言