S 函数的简介及编写 摘自恒润科技 S-fu nction 的编写 1
S 函 数 模 板 编 辑 环 境 进 入 : 在 MATLAB 主 界 面 中 直 接 输 入 : edit sfu ntmpl 即 可 弹 出 S 函 数 模 板 编 辑 的 M 文 件 环 境 , 修 改 即 可
在 MATLAB 主 界 面 中 直 接 输 入 : sfu ndemos, 即 可 调出 S 函 数 的 许多编程例子
S 函 数 模 板 的 相关基础: 1) M 文 件 S 函 数 的 引导语句为: ,
)2,1,,,,(],,0,[ppflaguxtftsstrxsysFunction S 函 数 默认的 四个输 入 参数 : t ,x ,u ,flag S 函 数 默认的 四个输 出 函 数 : sy s ,x 0 ,str ,ts 各个参数 的 含义如下: T : 代表当前的 仿真时间, 该输 入 决定了下一个采样时间; X : 表示状态向量, 行向量, 引用格式: X(1),X(2) U : 表示输 入 向量; Flag : 控制在 每一个仿真阶段调用哪一个子函 数 的 参数 , 由 SIMULINK 在调用时自动取值; Sy s : 通用的 返回变量, 返回的 数 值决定 Flag 值, mdlUpdates 里: 列向量,引用格式: Sy s(1,1),Sy s(2,1) ;mdlOu tpu ts 里: 行向量, 引用格式: Sy s =x
X0 : 初始的 状态值;列向量, 引用格式: X0=[ 0;0;0 ] Str : 空矩阵, 无具体含义; Ts : 包 含 模 块 采 样 时 间 和 偏 差 的 矩 阵
[period, offset] 当 Ts为 -1时 , 表 示 与 输 入 信 号 同 采 样 周 期
2) S 函 数 工