华为MagicBook锐龙版双系统折腾记六:matlab

2020-03-28 09:05:30 来源:互联网 阅读:-
【摘要】matlab本身是收费的,新版本越来越庞大和臃肿,由原来的教学实验室产品,逐步变成了开发者生态圈。从学习角度,老版本的matlab更加简单,易于上手。因此下载了matlab5.3绿色版本作为起点。

matlab本身是收费的,新版本越来越庞大和臃肿,由原来的教学实验室产品,逐步变成了开发者生态圈。从学习角度,老版本的matlab更加简单,易于上手。因此下载了matlab5.3绿色版本作为起点。


先在Win10上解压运行,意外发现Win10对老版本的matlab支持很差,经常出现运行错误和闪退。那么就只好在linux下来配置运行了。进入Deepin,将下载的压缩包解压到 ~./Deepinwine/matlab 目录下,运行:

> deepin-wine ~/.deepinwine/MATLAB5/bin/matlab.exe

则顺利正常启动,运行 bench 和 demo 命令,查看效果:


碾压20年前的王者



simulink 和 stateflow 全部正常工作。


窃以为,任何一个工科领域的本科或者研究生,如果熟悉精通matlab且深度理解matlab里面的各个领域内容,都可以作为优秀毕业生了。MATLAB5.3里面已经包含了自动控制、图像处理、信号处理、系统辨识、最优控制、小波、通讯、数据库、偏微分方程等工具包。本质讲,这些包都是开源的,意味着所有的算法都可以看代码学习。


比如教科书上都是讲,求矩阵特征值,是通过求矩阵特征多项式的根来获得特征值:

>A = rand(3)

A =

0.4103 0.3529 0.1389

0.8936 0.8132 0.2028

0.0579 0.0099 0.1987

>p = poly(A)

p =

1.0000 -1.4222 0.2514 -0.0016

>roots(p)

ans =

1.2167

0.1987

0.0068

特征多项式的三个根就是矩阵A的三个特征值。



我们再看看MATLAB是如何求的,用 type 命令显示 poly 代码,可以看出MATLAB求矩阵的特征多项式,是先求矩阵的特征值,然后再用特征值构建特征多项式。再看看求n阶多项式的根的方法:




MATLAB是用多项式来构建一个矩阵,叫多项式的伴随矩阵,然后再矩阵的特征值作为多项式的根。之所以这么做,是因为在现代数值计算中,对任意阶矩阵,采用QR矩阵分解算法求特征值远比求特征多项式的根来得高效快捷,matlab把eig命令作为一个内置函数来执行。


matlab及其toolbox的所有算法和函数,都值得深入研究。一句话,掌握和精通MATLAB,毕业不发愁。


推荐阅读:小黄鸭键盘