您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 其它文档 > 第6讲 Simulink子模块封装及S函数
Simulink动态系统仿真2完成下列练习并回顾上次课内容1.已知某二阶系统的开环传递函数为:用Simulink搭建该对象的开环单位阶跃响应模型.225G(s)=25ss完成下列练习并回顾上次课内容2.对该对象施加PID控制作用(要求利用Gain,Integer,Derivative模块自己搭建PID控制器),用Simulink构建该系统的单位负反馈模型,调整PID参数,并观察结果.225G(s)=25ss几个常用的输入输出模块的使用•ToWorkspace:参见PID_2•ToFile:参见PID_3•FromFile:参见ex_4•FromWorkspace:参见ex_5StructureArray结构数组(P25)student=struct('name','Tom','score',[808697])student(2).name='Jack';student(2).score=[6070100]student(3)=struct('name','Mary','score',[598191])参考:Matlab\GettingStarted\Programming\OtherdatastructuresCellArray单元数组例:A(1,1)={[1:4;3,578]};A(1,2)={'lesson2'};A{2,1}=ones(2,3);A{2,2}=logspace(1,3,3);celldisp(A){}:数组的内容():数组元素五、子模块及模块封装技术退出主菜单对于很大的Simulink模型,通过自定义功能模块可以简化图形,减少功能模块的个数,有利于模型的分层构建。subsystem5.1子系统的创建退出主菜单1.通过子系统模块Subsystem建立2.通过压缩已有模块建立–在模型窗口中建立所定义功能模块的子模块。–用鼠标将这些需要组合的功能模块框住,然后选择Edit菜单下的CreateSubsystem即可。5.2模块的封装选中Subsystem功能模块,再打开Edit菜单中的MaskSubsystem进入mask的编辑窗口5.2模块的封装•Icon:设定功能模块的外观。•Parameters:设定输入数据窗口•Initialization:设定输入数据的初始值•Documentation:设计模块的文字说明练习1:•试编写一个实现y=kx+b功能的子模块。–In:x–Out:y–参数:k,b练习2:•试编写一个实现y=k1x1+k2x2功能的子模块。–In1:x1–In2:x2–Out:y–参数:k1,k25.3封装模块的查看•LookUnderMaskForExample:sltank六、S函数的设计6.1s函数的功能对模块库进行扩展自定义功能模块:通过基本模块进行扩展S函数:通过语言文件的编写进行扩展6.2s函数的特点•s-function可以用m文件编写,也可以用c或fortune等语言文件编写。•s函数的编写方法:–按照s函数的格式编写:sfuntmpl(t,x,u,flag)–这样的构造只能用于基于Simulink的仿真,并不能强其转换成独立于Matlab的程序。6.1建立m文件s-function•[sys,x0,str,ts]=fname(t,x,u,flag,p1,p2,...)•t:thecurrenttime•flag:标志位•x:thecurrentstatevector•u:thecurrentinputvectorsfuntmpl.mlimintm.m
本文标题:第6讲 Simulink子模块封装及S函数
链接地址:https://www.777doc.com/doc-3323234 .html