Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说MATLAB求解矩阵函数「终于解决」,希望能够帮助你!!!。
这里的 1-2 节涉及到矩阵函数的一般求法。
第 3 节演示了为什么不能用普通的运算函数求矩阵函数。
第 4 节介绍了MATLAB内置的矩阵函数求解函数。
如果赶时间,直接看第 4 节即可!!!
直接查看百度百科吧,我也说不太清楚:矩阵函数
总的来说,矩阵函数的求解方式和一般的标量方式不一样。
常用的矩阵函数有:
MATLAB内置的求解方案也只能求解这6类矩阵函数
这里以矩阵:
为例,求解其矩阵函数 sinA。求解方案在百度百科里面有两种。
求出A的jordan标准型 J 和伴随矩阵 P
可以看到其特征值 λ1 = λ2 = λ3 = 2;
计算需要的标量函数值
我们的函数是 f(z)=sinz。根据jordan矩阵和特征值,我们知道需要 f(2) 和 f‘(2)来构造f(J).


求矩阵的最小多项式
可以看到,最小多项式为 m=x²-4x+4=(x-2)²,有两个相同的特征根。
计算需要的标量函数值
我们的函数是 f(z)=sinz,根据定理需要计算 f(2) 和 f’(2),和上面jordan求法相同。
令 g(λ) = C0+C1*λ (根据定理,f 与之相同)
则,f(2)=g(2)=C0+2C1 f’(2)=g’(2)=C1;
f(2)和f’(2)上文已经求出,所以由此可以解出C0和C1:
很简单,f(A)=C0I+C1A,如下:
刚开始我以为MATLAB普通的运算符会直接为我们计算矩阵函数,实际上并不是这样。
我们的例子是 sin(A),这里试一下:
显然,这里是直接对每个元素求sin,不符合我们的要求。
步入正题。这里才是MATLAB内置的函数矩阵的求解函数:funm()
官方文档介绍如下:
意味着可以计算常用函数的矩阵函数,调用形式也比较清楚。
我们将其应用到我们的例子中,得到了正确结果:
注:求exp和log也有专有的expm和logm函数,效果和funm一样。
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
上一篇
已是最后文章
下一篇
已是最新文章