作者:峰哥说的都队
问题背景
我们在使用simulink时,有时需要用到simulink没有的功能,这些功能在matlab编辑器中可以很好实现,所以我们希望能封装m代码进simulink模块
解决思路
网上有多种方法进行封装,一种是利用S Function
进行编写,另一种是用MATLAB Function
模块进行封装
S函数封装较为复杂,需要定义输入输出、采样率等参数
MATLAB Function可以直接封装普通的Matlab程序
调用MATLAB Function模块后双击,可以编辑m文件内容,编辑后即可使用
问题
在使用MATLAB Function的时候,simulink会在正常运行中调用matlab编辑器,再将结果返回simulink工作区,这导致运行速度会显著变慢。我们可以用C语言对模块进行编译。