知方号

知方号

MATLAB2015a中Simulink使用S函数的方法全过程

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

 

第四步:搭建整体框图如下,进行机器人轨迹跟踪仿真

                                                                       robot.slx文件中的整体框图仿真

 

仿真结果如下图

                         

                                                           机器人位置和速度跟踪轨迹

                                     

                                                                                            控制输入

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。