華為MagicBook銳龍版雙系統折騰記六:matlab

matlab本身是收費的,新版本越來越龐大和臃腫,由原來的教學實驗室產品,逐步變成了開發者生態圈。從學習角度,老版本的matlab更加簡單,易於上手。因此下載了matlab5.3綠色版本作為起點。


先在Win10上解壓運行,意外發現Win10對老版本的matlab支持很差,經常出現運行錯誤和閃退。那麼就只好在linux下來配置運行了。進入Deepin,將下載的壓縮包解壓到 ~./Deepinwine/matlab 目錄下,運行:

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

則順利正常啟動,運行 bench 和 demo 命令,查看效果:


華為MagicBook銳龍版雙系統折騰記六:matlab

碾壓20年前的王者


華為MagicBook銳龍版雙系統折騰記六:matlab


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的三個特徵值。


華為MagicBook銳龍版雙系統折騰記六:matlab


我們再看看MATLAB是如何求的,用 type 命令顯示 poly 代碼,可以看出MATLAB求矩陣的特徵多項式,是先求矩陣的特徵值,然後再用特徵值構建特徵多項式。再看看求n階多項式的根的方法:


華為MagicBook銳龍版雙系統折騰記六:matlab


華為MagicBook銳龍版雙系統折騰記六:matlab


MATLAB是用多項式來構建一個矩陣,叫多項式的伴隨矩陣,然後再矩陣的特徵值作為多項式的根。之所以這麼做,是因為在現代數值計算中,對任意階矩陣,採用QR矩陣分解算法求特徵值遠比求特徵多項式的根來得高效快捷,matlab把eig命令作為一個內置函數來執行。


matlab及其toolbox的所有算法和函數,都值得深入研究。一句話,掌握和精通MATLAB,畢業不發愁。



分享到:


相關文章: