編者語:Matlab作為商業數學軟件,用于數據分析、無線通信、深度學習、圖像處理與計算機視覺、信號處理、量化金融與風險管理、機器人,控制系統等領域。小編得到華科大博士陳冰授權許可下,特此轉發《對Matlab功能的一點理解(控制系統視角)》文章,僅供讀者參考。
1)早期的MATLAB,功能與名字(MatrixLaboratory)一致,是一個數值線性代數軟件包,作者的初心只是用來做線性代數的教學。
2)簡單的動態系統,總可以表達成一個常微分方程,用龍格庫塔算法就可以迭代求解,MATLAB實現了自動求解器,并提供Simulink圖形化工具,用戶只需要把一些簡單動態環節連在一起,就可以進行自動數值積分,這就滿足了學術圈和工程界的大量需求。(想想當年MIT的Bush搭建模擬計算機來計算電力系統穩定性有多麻煩。)
3)能用矩陣計算來做坐標變換,能解微分方程,好多事情都可以做了,大量專業人士與之合作寫toolbox,比如系統辨識toolbox,就是著名系統辨識專家Ljung寫的。
4)控制系統中還有大量的邏輯功能,不是用微分方程描述的,但是可以用狀態機描述,MATLAB的Stateflow解決了這類系統的形式化建模問題,特別滿足了汽車軟件開發的需求。
5)汽車軟件等可靠性軟件開發提出了V字型開發流程,matlab首先滿足了建模和仿真的需求,這么多年步步為營,居然把整個基于模型的設計流程工具都做全了,可以直接生成二進制代碼,下載到嵌入式硬件系統以及PLC等控制器。
6)傳統的Simulink建模對于物理建模是有局限性的,Dymola等物理建模工具天然支持多物理域建模。于是MATLAB推出Simscape平臺,重構底層引擎,并且把之前的電機、電氣、電子等模塊都重構了一遍。
7)面向數字孿生的發展,各家仿真軟件都在發力,像Ansys的TwinBuilder,把有限元仿真的優勢和基于模型的設計流程結合起來。FMI/FMU成為業界標準,可以使用多種工具進行模型交換和協同仿真,也進一步方便了基于模型的系統實現,MATLAB對FMI/FMU的支持目前還比較有限,但是對第三方工具生成的模型的導入工具做的還是不錯的。
8)MATLAB積極推動數據驅動建模與基于物理機理的建模的融合,目前已經支持多種深度學習網絡的建模和訓練,如果是純粹的用機器學習進行圖像處理和語音識別,MATLAB不見得有優勢,但是如果真正用AI工具解決制造業問題的話,MATLAB的集成平臺還是有一定的優勢。
作者簡介
陳冰,男,工學博士,華中科技大學機械科學與工程學院副教授,中國自動化學會邊緣計算專業委員會委員。主要從事機電裝備運動控制、網絡化控制和工業邊緣計算等領域的研發工作,承擔“新工科”機電教學改革和實踐教學系統設計相關工作。