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函数的方法全过程相关推荐

  1. [转]在C#中使用API回调函数的方法

    在C#中使用API回调函数的方法 就以EnumChildWindows和EnumChildProc为例子: 首先要声明EnumChildProc 为一个回调函数 public delegate boo ...

  2. php中strtotime(date,js模仿php中strtotime()与date()函数实现方法

    本文实例讲述了js模仿php中strtotime()与date()函数实现方法.分享给大家供大家参考.具体如下: 在js中没有像php中strtotime()与date()函数,可直接转换时间戳,下面 ...

  3. Py之pandas:pandas的read_excel()函数中各参数说明及函数使用方法讲解

    Py之pandas:pandas的read_excel()函数中各参数说明及函数使用方法讲解 目录 pandas的read_excel()函数中各参数说明及函数使用方法讲解 read_excel()函 ...

  4. Js文件中调用其它Js函数的方法(转)

    2019独角兽企业重金招聘Python工程师标准>>> Js文件中调用其它Js函数的方法 在项目开发过程中,也许你会遇这样的情况.在某一Js文件中需要完成某一功能,但这一功能的大部分 ...

  5. Js文件中调用其它Js函数的方法

    2019独角兽企业重金招聘Python工程师标准>>> Js文件中调用其它Js函数的方法 在项目开发过程中,也许你会遇这样的情况.在某一Js文件中需要完成某一功能,但这一功能的大部分 ...

  6. vue怎么调用子元素的方法_vue 父组件中调用子组件函数的方法

    vue 父组件中调用子组件函数的方法 在父组件中调用子组件的方法: 1.给子组件定义一个ref属性.eg:ref="childItem" 2.在子组件的methods中声明一个函数 ...

  7. disp语句怎么格式 matlab_Matlab中disp和sprintf函数使用方法和区别介绍

    Matlab中disp和sprintf函数使用方法和区别介绍 作者:小安 来源:PC下载网时间:2020-08-17 17:48:55 相信各位都知道的,Matlab自带很多函数,用处各不相同,当中, ...

  8. java strtotime_js模仿php中strtotime()与date()函数实现方法

    本文实例讲述了js模仿php中strtotime()与date()函数实现方法.分享给大家供大家参考.具体如下: 在js中没有像php中strtotime()与date()函数,可直接转换时间戳,下面 ...

  9. jquery getjson php,jquery中调用php json函数的方法分享

    PHP 5.2版本之后,默认增加了一组针对数据进行JSON互转的函数: json_encode :数据到JSON json_decode :JSON到PHP变量的转换 本文用一个实例讨论一下PHP 的 ...

  10. asp.net中调用javascript自定义函数的方法(包括引入JavaScript文件)总结

    通常javascript代码可以与HTML标签一起直接放在前端页面中,但如果JS代码多的话一方面不利于维护,另一方面也对搜索引擎不友好,因为页面因此而变得臃肿:所以一般有良好开发习惯的程序员都会把ja ...

最新文章

  1. AI时代,如何“未雨绸缪”面向未来工作?
  2. 联合国发布AI报告:自动化和AI对亚洲有巨大影响【附报告下载】
  3. Linux——文件管理之inode
  4. javaScript 之 蚁人微任务
  5. 前端三十三:表单form
  6. foreach去除重复元素java_Java foreach 中List移除元素抛出ConcurrentModificationException原因全解析...
  7. SAP为企业不同员工带来了什么?
  8. 三朵云 华为_云时代和5G将重构网络结构
  9. SQLServer基础:Apply关键字用法介绍
  10. 达观杯文本智能处理(2)
  11. Sharepoint学习笔记---Linq to Sharepoint--增,删,改操作
  12. oracle技术之一次RMAN备份报错的诊断过程(五)
  13. ABB机器人FOR循环指令
  14. Floyd + 传递闭包
  15. 【嵌入式06】寄存器方式和HAL库方式实现 串口通信“hello windows!”+流水灯
  16. 解决ssh_exchange_identification:read connection reset by peer 原因
  17. 2022-2028年全球与中国SCADA石油和天然气行业发展趋势及投资战略分析
  18. 用python控制大华摄像头简单转动
  19. linux下制作windows启动盘,行家里手:Linux使用WoeUSB制作Windows启动盘
  20. 我的意中人是个盖世程序员.........

热门文章

  1. java自定义生成js代码_基于JavaScript的代码自动生成工具
  2. 表白js特效 html爱情表白网站 html爱心代码
  3. 关于IplImage中widthstep的大小与width,nchanne
  4. c#定时器Timer
  5. 全国中小学信息技术创新与实践大赛:软件创意编程赛道
  6. rockchip Android平台动态替换开机logo的实现
  7. 传染病SIR模型及蒙特卡洛方法
  8. PPT达人速成记 WPS三步打造演示母版
  9. Linux fcntl函数详解
  10. 华成英-模拟电子技术P13 多级放大器 笔记