![]() |
【分享】与S-函数相关的一些术语
[B]1.仿真例程(Routines)[/B]
Simulink在仿真的特定阶段调用对应的S-函数功能模块(函数),来完成不同的任务,如初始化、计算输出、更新离散状态、计算导数、结束仿真等,这些功能模块(函数)称为仿真例程或者回调函数(call back functions)。下表列出了S-函数例程函数和对应的仿真阶段。 mdlInitialization 初始化 mdlGetTimeofNextVarHit 计算下一个采样点 mdlOutput 计算输出 mdlUpdate 更新离散状态 mdlDerivatives 计算导数 mdlTeminate 结束仿真 [B]2.直接馈通(Direct feedthrough)[/B] 直接馈通意味着输出或可变采样时间与输入直接相关。在如下的两种情况下需要直接馈通: (1)某一时刻的系统输出y中包含某一时刻的系统输入u。 (2)系统是一个变采样时间系统(variable sample time system)且采样时间计算与输入u相关。 正确设置馈通标志(feedthrough flag)是非常重要的,因为这不仅关系到系统模型中系 统模块的执行顺序,还关系到对代数环的检测与处理。 [B]3.采样时间和偏移量(Sample time & offsets)[/B] 采样时间在离散时间系统内控制采样时间间隔,偏移量则用于延时采样时间点(sample time hits)。它们有如下的关系: time=(n*sample_time_value)+offset_time 其中n表示第n个采样点。 Simulink在每一格采样点上调用mdlOutput和mdlUpdate例程。对于连续时间系统采样时间和偏移量的值应该设置为零。采样时间按还可以继承自驱动模块、目标模块或者系统最小采样时间,这种情况下采样时间值应该设置为-1,或者INHERITED_SAMPLE_TIME。 [B]4.动态输入(Dynamically sized inputs)[/B] S-函数支持动态可变维数的输入。S-函数的输入变量u的维数决定于驱动S-函数模块的输入信号的维数。所以当仿真开始的时候,需要先估计S-函数的输入维数。在M文件S-函数中动态设置输入维数时,应该把sizes数据结构的对应成员设置为-1或者DYNAMICLLY_SIZED。在C文件S-函数需要调用函数ssSetInputPortWidth来动态设置输入维数。其它的如状态维数和输出维数同样是动态可变的。 |
多谢分享!!!!!!!!!:lol:
|
回复: 【分享】与S-函数相关的一些术语
正在学,很有帮助
|
回复: 【分享】与S-函数相关的一些术语
简明易懂:biggrin:
|
回复: 【分享】与S-函数相关的一些术语
xiexei ddddddddddddddddddddddd
|
回复: 【分享】与S-函数相关的一些术语
谢谢了,不过希望能够继续更新哦
|
回复: 【分享】与S-函数相关的一些术语
谢谢楼主朋友,学习分享了!
|
回复: 【分享】与S-函数相关的一些术语
thank you very much!
分享了 |
回复: 【分享】与S-函数相关的一些术语
很感谢楼主的无私支持!
|
所有时间均为北京时间。现在的时间是 09:02。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.