MATLAB2015a中Simulink使用S函数的方法全过程 | 您所在的位置:网站首页 › simulink添加自己的模块 › MATLAB2015a中Simulink使用S函数的方法全过程 |
S函数即系统函数System Function的意思,在研究中,有时需要用到复杂的算法设计等,而这些算法因为其复杂性不适合用普通的Simulink模块来搭建,即matlab所提供的Simulink模块不能满足用户的需求,需要用编程的形式设计出S函数模块,将其嵌入到系统中。如果恰当地使用S函数,理论上,可以在Simulink下对任意复杂的系统进行仿真。 作者以为MATLAB2015a为例讲解下S函数使用过程中的一些小技巧。 第一步:在主窗口中输入sfundemos,或者点击Simulink->User-Defined Functions->S-Function Examples,即可出现如图1所示的界面,用红色框圈出来的部分就是S函数 图1 S函数库 第二步:在MATLAB主窗口下建立一个Simulink形式的.slx文件,起名为robot.slx 第三步:Matlab为了用户使用方便,有一个S函数的模板sfuntmpl.m,一般来说,我们仅需要在sfuntmpl.m的基础上进行修改即可。在MATLAB命令行中输入edit sfuntmpl 即可出现模板函数的内容,模板内容如下所示 把sfuntmpl 文件和之前建立好的robot.slx放在一个路径之下,sfuntmpl 文件重命名为 ctrlmpl.m,然后回到robot.slx框图中,把Simulink->User-Defined Functions->S-Function Examples拖入进框图里面,如下图 第三步:双击S-Function出现如下界面,切记把S-function name 的名称改为和之前建立好的sfuntmpl 文件名字一致为ctrlmpl,这是最关键的一步,保证了在仿真的时候,robot.slx文件可以关联到S函数ctrlmpl.m
第四步:搭建整体框图如下,进行机器人轨迹跟踪仿真
仿真结果如下图 机器人位置和速度跟踪轨迹 控制输入 |
CopyRight 2018-2019 实验室设备网 版权所有 |