问一个比较大的问题在Simulink中,如果没有现成的模块调用我们倾向于建S-matlab构建functionn模块,但是其实Simulink里面还有MATLAB matlab构建functionn
前段时间做仿真,有一个复杂的计算公式两个输入变量,一個输出变量使用的是MATLAB matlab构建functionn,发现也蛮好用的
那么问题来了,究竟MATLAB matlab构建functionn和S-matlab构建functionn有什么区别呢本人接触MATLAB还不算很深入,不知道版里面的夶神有没有自己的理解
S函数模块是描述Simulink模块运行机制和细节动作最深刻的模块,它提供对模型运行时模块动作的所有流程定义包括初始化多少个输入输出口,多少个状态变量;包括微分状态变量更新计算,包括输出计算和终止时的动作定义
-matlab构建functionn是提供类似Matlab编程的編辑器,在有限制的情况下去编写M语言程序每次仿真都调用Matlab解释器去翻译程序生成C代码,再编译为mex文件执行费时费力,而且不能反映Simulink嘚本质很多Matlab熟悉的人初学Simulink都喜欢用这个,我个人到是不喜欢因为它不锻炼Simulink整体设计和功能设计的能力,依靠的还是传统的Matlab