咨询大家一个问题:为什么在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函数计算的话,就没问题。相关推荐

  1. Matlab中创建一个矩阵的3种常用方法

    Matlab中创建一个矩阵的3种常用 方法: 1. 直接法: A=[1 2 3;4 5 6]或A=[1,2,3;4,5,6]. 以上需 注意两点,第一,矩阵a大小不用提前设定,Matlab根据后边矩阵 ...

  2. MATLAB中判断一个矩阵或者数字是否是复数

    假设变量为a,使用以下语句进行判断: 参考链接:MATLAB中判断一个矩阵或者数字是否是复数 if ~isreal(a)

  3. MATLAB中的复杂矩阵输入问题

    MATLAB中的复杂矩阵输入问题 #如图矩阵 如何在MATLAB中输入,作为一个初入matlab的萌新...真的难到了诶 ZHO G

  4. matlab超出所有矩阵维度,matlab中索引超出矩阵维度

    公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:matlab中索引超出矩阵维度?回答:beta=4; % beta 是一个常量 beta(alpha,beta) % beta 不是 ...

  5. 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数组的逆 ...

  6. matlab怎么扩展矩阵,Matlab中如何扩展矩阵,其他部分补零?

    一.使用官方命令 blkdiag 在matlab中搜索:help blkdiag 下面是其官方事例: Construct block diagonal matrix from input argume ...

  7. 轮子——matlab中的随机数矩阵(rand randn randi 种子 normrnd randperm 对称)

    在matlab中进行仿真时,经常需要对真实数据添加随机数噪声.本文内容参考内容见文末,对其进行适当总结并不定期再补充. 文章目录 rand randn randi 设定种子1 设定种子2 normrn ...

  8. Matlab中两种矩阵除法运算:右除 / 和左除 \ 的区别

    首先,我们来看一道判断题: 如果A矩阵是非奇异方阵,则B/A等效于inv(A) * B.请问这句话正确还是错误? 答案放在文章最后. 有人问inv(A) 是什么? inv为inverse的缩写,有着翻 ...

  9. 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]; ...

最新文章

  1. Gradle sync failed: failed to find Build Tools revision 21.1.2
  2. [TensorRT] ERROR: Network must have at least one output
  3. Spring MVC入门示例教程--表单处理
  4. Objective-C设计模式——单例Singleton(对象创建)
  5. python建模 决策_决策树python建模中的坑 :ValueError: Expected 2D array, got 1D array instead:...
  6. mybatis框架增删改的注意事项 ,不同数据库取消转义的方法
  7. 初中计算机教学进度表,初中学校教学活动安排表.doc
  8. SAP计划策略组详细介绍
  9. linux下编译libyuv,Android ndk cmake编译libyuv
  10. (C语言)2048游戏实现
  11. 仿bing搜索页面制作(大概)
  12. 为什么amd显卡便宜却买的人少_这7张显卡现在最好不要买,千万不要花钱当冤大头...
  13. CentOS7.x Sysbench 测试mysql数据库性能(version:sysbench-1.1.0)
  14. psu 计算机 排名,PSU研究生计算机科学排名,真慎重来考察
  15. 洛谷P1551 亲戚
  16. cmd md命令 创建文件夹
  17. 数据结构----复习题
  18. 静下心来看一看花花世界花花人.
  19. Android中使用Post带参数请求的方法
  20. 麒麟子Javascript游戏编程零基础教程一:序言

热门文章

  1. OPT(奥普特)荣摘高工锂电“2022年度创新技术奖”
  2. 曾国藩六戒—送给自己和大家
  3. 20220420 腾讯音乐研发一面
  4. 业务流程、工作(操作)流程与审批流程的关系
  5. 《赛博朋克 2077》开发者控诉公司强制 996
  6. 手机微信小程序怎么制作自己的程序?
  7. 网络测速插件speedtest
  8. RTL适配-阿拉伯语
  9. 非接触式IC卡、条码卡、磁道卡、接触式IC卡、芯片卡
  10. 少儿学人工智能编程好还是机器人编程好