- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验8 simulnk仿真
实验8 simulink仿真
一、实验目的
1、掌握通过模块实现simulink仿真;
2、掌握子系统的创建与封装方法;
3、掌握利用s-function实现简单系统的仿真。
二、实验内容
1、设方程
(1)假设r =1,d=0.5,a=0.1,b=0.02,x(0)=25,y(0)=2,通过直接连接simulink模块的方法仿真x(t)、y(t)以及y(x)的图像。
(2)以a、b、d、r为参数,采用创建子系统与封装的方法实现(1)仿真。
(3)利用s-function实现(1)的仿真。
解(:建立框图如图
设置从工作区间输入xInitial= [25 2]’; 仿真结束时间为20,其他默认
XY Graph设置:xmin=0,xmax=100,ymin=0,ymax=30
运行simulink仿真:
(2)创建子系统
如图选中模块,创建子系统
创建后为
在Model Explorer中查看并修改参数
运行如图:
(3)s-Function模块
s函数、
function [sys,x0,str,ts,simStateCompliance] = sfuntmpl(t,x,u,flag)
switch flag,
case 0,
[sys,x0,str,ts,simStateCompliance]=mdlInitializeSizes;
case 1,
sys=mdlDerivatives(t,x,u);
case 2,
sys=mdlUpdate(t,x,u);
case 3,
sys=mdlOutputs(t,x,u);
case 4,
sys=mdlGetTimeOfNextVarHit(t,x,u);
case 9,
sys=mdlTerminate(t,x,u);
otherwise
DAStudio.error(Simulink:blocks:unhandledFlag, num2str(flag));
end
function [sys,x0,str,ts,simStateCompliance]=mdlInitializeSizes
sizes = simsizes;
sizes.NumContStates = 2;
sizes.NumDiscStates = 0;
sizes.NumOutputs = 2;
sizes.NumInputs = 0;
sizes.DirFeedthrough = 1;
sizes.NumSampleTimes = 1;
sys = simsizes(sizes);
x0 = [25;2];
ts = [0 0];
str = [];
simStateCompliance = UnknownSimState;
function sys=mdlDerivatives(t,x,u)
sys =[x(1)*(1-0.1*x(2));x(2)*(-0.5+0.02*x(1))];
function sys=mdlUpdate(t,x,u)
sys =[];
function sys=mdlOutputs(t,x,u)
sys =[x(1);x(2)];
function sys=mdlGetTimeOfNextVarHit(t,x,u)
sampleTime = 1;
sys = t + sampleTime;
function sys=mdlTerminate(t,x,u)
sys = [];
仿真如图
2、利用simulink仿真求积分的值。
::的结果为
3、建立下面两个框图的控制系统simulink模型,绘制在阶跃step函数输入下的输出曲线。
(1)假设step函数参数设为:step time=1,initial time=0,final value=2,sample time=0。
解:
(2)假设step函数参数设为:step time=0.1,initial time=0,final value=1,sample time=0。初始条件为:y(0)=2,y’(0)=1。
解:如图
4、用simulink建立下面时变系统模型:
假设初始条件为,,请仿真的输出结果。
解:的部分函数如下:function sys=mdlDerivatives(t,x,u)
sys =[-sin(t) t;-1 exp(-5*t)]*[x(1);x(2)];
function sys=mdlOutputs(t,
原创力文档


文档评论(0)