Simulink®
基于模型与基于系统的设计
n 建模
n 仿真
n 实现
S-Function 的编写
Version 5
目录
S-FUNCTION 概述 1
什么是S-FUNCTION 2
在模型中使用S-FUNCTION 3
向S-Function 传递参数 3
何时使用S-Function 4
S-FUNCTION 的工作原理 5
Simulink 块的数学关系 5
仿真过程 5
S-Function 回调程序 6
S-FUNCTION 的实现 8
M-文件的S-Function 8
MEX 文件的S-function 8
MEX 文件与M-文件的S-function 比较 9
S-FUNCTION 的概念 10
直接馈通 10
动态维矩阵 10
设置采样时间和偏移量11
S-FUNCTION 范例 14
M 文件S-function 范例 15
C S-Function 范例 16
Fortran S-Function 范例 18
C++ S-Function 范例 18
Ada S-Function 范例 18
编写M S-FUNCTION 19
概述 20
S-Function 参数 20
S-Function 的输出 20
定义S-FUNCTION 块特性 22
处理S-FUNCTION 参数 22
M 文件的S-FUNCTION 范例 23
范例 1——简单的M 文件S-Function 23
范例2——连续状态S-Function 25
范例3——离散状态S-Function 27
范例4——混合系统S-Function 28
范例5——变步长S-Function 31
i
使用C 语言编写S-FUNCTION 33
概述 34
创建C MEX S-Function 35
自动生成S-FUNCTION 36
配置生成的S-Function 37
S-Function Builder 如何生成S-Function 37
设置include 路径 37
S-FUNCTION BUILDER 的对话窗 39
Initialization 选卡 39
Data Properties 选卡 40
Libraries 选卡 42
Outputs 选卡 43
Continuous Derivatives 选卡 45
Discrete Update 选卡 46
Build Info 选卡 47
一个基本的C MEX S-FUNCTION 范例 48
定义与包含 49
回调函数的实现 50
Simuli