[已解决] matlab如何求矩阵方程

[复制链接]
小蜗牛的制高点 发表于 2021-4-7 13:37:28
matlab中可以用solve求方程组,但是如果未知数是矩阵,如:lamda是一个2*2的位置矩阵(对角矩阵,矩阵元不确定),满足如下计算公式:
det(lamda^2+A*lamda+lamda*B+C = 0),其中矩阵ABC都是2*2的已知矩阵,对于这种问题只能把lamda的矩阵元表示成变量,然后把表达式自己计算出来再用solve求解吗?
有没有什么办法能够直接把lamda这一个矩阵计算出来?

最佳答案


TouAkira 发表于 2021-4-7 14:44:00
你就一个方程 det( 一堆矩阵表达式 ) == 0,然后指望着同时求解多个未知数?
这怕是不行的,方程太少未知数太多了

4 条回复


小蜗牛的制高点 发表于 2021-4-7 13:39:44
因为比较简单的运算可以按照元素一一展开,但是运算很复杂的时候,一一展开很容易出错,所以有没有更方便且准确的方法

TouAkira 发表于 2021-4-7 14:44:00
你就一个方程 det( 一堆矩阵表达式 ) == 0,然后指望着同时求解多个未知数?
这怕是不行的,方程太少未知数太多了
回复此楼

小蜗牛的制高点 发表于 2021-4-7 17:43:11
我的问题最终解决的方法就是把lamda的两个元素设出来,然后把矩阵运算写明白,直接用solve(det(M) == 0)这样就能直接解出来了,因为det(M)就是含有两个元素的方程,而且不用自己推这个具体的表达式。最后能给出好几对可能的数值。

小蜗牛的制高点 发表于 2021-4-7 17:44:24
TouAkira 发表于 2021-4-7 14:44
你就一个方程 det( 一堆矩阵表达式 ) == 0,然后指望着同时求解多个未知数?
这怕是不行的,方程太少未知数 ...

使得,就是这样解决的,这样也是能算出可能的数值的,就好几对数据,自己再筛选就好了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
热门教程
站长推荐
快速回复 返回顶部 返回列表