Simulink中S-Function和MATLAB-Function的区别

如题所述

s函数比较完整,包括初始化等更详细的功能,普通函数直接就进行了计算。
举个例子,输入为a、b,输出为a+b,那么直接用MATLAB-Function就可以完成了
如果你想做的是对a+b积分并且希望设置步长、初值等,那你得用S-Function
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-08-03
S函数模块是描述Simulink模块运行机制和细节动作最深刻的模块,它提供对模型运行时模块动作的所有流程定义,包括初始化多少个输入输出口,多少个状态变量;包括微分,状态变量更新计算,包括输出计算和终止时的动作定义。
Matlab -function是提供类似Matlab编程的编辑器,在有限制的情况下去编写M语言程序,每次仿真都调用Matlab解释器去翻译程序生成C代码,再编译为mex文件执行,费时费力,而且不能反映Simulink的本质。
很多Matlab熟悉的人初学Simulink都喜欢用这个,我个人到是不喜欢,因为它不锻炼Simulink整体设计和功能设计的能力,依靠的还是传统的Matlab。本回答被网友采纳
相似回答