工学博士对Matlab功能的一点理解(控制系统视角)
1411
编者语: 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的集成平台还是有一定的优势。
作者简介
陈冰,男,工学博士,华中科技大学机械科学与工程学院副教授,中国自动化学会边缘计算专业委员会委员。主要从事机电装备运动控制、网络化控制和工业边缘计算等领域的研发工作,承担“新工科”机电教学改革和实践教学系统设计相关工作。