加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

[转载]simulink中s函数的总结之一

(2016-09-05 00:01:32)
标签:

转载

分类: Simulink

在simulink中建立s函数,有以下几个步骤:

1.在simulink library browser -->simulink -->user-defined functions 找到s function,拖到.mdl文件中。

2.双击s function,出现对话框,点击edit。

3.在matlab/command window里输入edit sfuntmpl,出现s 函数的模板。把模板拷出来,放到新建立的m文件里。

4.修改函数名。function [sys,x0,str,ts,simStateCompliance] = light_compare(t,x,u,flag)

light_compare即为自己修改的函数名。把该函数进行保存,放在对应的.mdl文件所对应的路径下。再把双击s function模块出现的对话框中的s-function name改为light_control. 点击edit,即可以找到该函数。

5.修改输入输出的个数。

  sizes.NumOutputs     = 0;
  sizes.NumInputs      = 0;

6.在function sys=mdlOutputs(t,x,u)

    sys = [];里编写函数。

7.如果只有一个输入即为u。如果有多个输入为u(1)、u(2)。。。

  定义输出:persistent y1 y2 y3.。。(注意输出变量之间不要加任何符号)

  最后要把输出变量放入sys里。sys=[y1,y2,y3,...]

8.在.mdl文件中,多个输入时,s function之前要加Bus Creator。多个输出时,s function之后要加Demux。

0

  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有