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文件中的整體框圖仿真
?
仿真結果如下圖
? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?機器人位置和速度跟蹤軌跡
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 控制輸入
總結
以上是生活随笔為你收集整理的MATLAB2015a中Simulink使用S函数的方法全过程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 企业内容管理-互联网应用
- 下一篇: webpack之DefinePlugin