首頁>科技>

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,畢業不發愁。

最新評論
  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • 宿遷進入全國十強,能否成為江蘇的“杭州”?