资源描述:
《实验8 simulink仿真.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验8simulink仿真一、实验目的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)的仿真。模型建立如图:function[sys,x0,str,
2、ts]=fun(t,x,u,flag)switchflag,case0,[sys,x0,str,ts]=mdlInitializeSizes;case1,sys=mdlDerivatives(t,x,u);case2,sys=mdlUpdate(t,x,u);sys=[];case3,sys=mdlOutputs(t,x,u);case4,sys=mdlGetTimeOfNextVarHit(t,x,u);sys=[];case9,sys=mdlTerminate(t,x,u);sys=[];otherwiseerror(['Unhandledflag=',num2str(
3、flag)]);endfunction[sys,x0,str,ts]=mdlInitializeSizessizes=simsizes;sizes.NumContStates=2;sizes.NumDiscStates=0;sizes.NumOutputs=2;sizes.NumInputs=0;sizes.DirFeedthrough=0;sizes.NumSampleTimes=1;sys=simsizes(sizes);x0=[25;2];str=[];ts=[00];functionsys=mdlDerivatives(t,x,u)sys=[x(1)*(1-0.1*
4、x(2));x(2)*(-0.5+0.02*x(1))];functionsys=mdlUpdate(t,x,u)sys=[];functionsys=mdlOutputs(t,x,u)sys=[x(1);x(2)];functionsys=mdlGetTimeOfNextVarHit(t,x,u)sampleTime=1;sys=t+sampleTime;functionsys=mdlTerminate(t,x,u)sys=[];结果同上2、利用simulink仿真求积分的值。3、建立下面两个框图的控制系统simulink模型,绘制在阶跃step函数输入下的输出曲线。(1
5、)假设step函数参数设为:steptime=1,initialtime=0,finalvalue=2,sampletime=0。(1)(2)假设step函数参数设为:steptime=0.1,initialtime=0,finalvalue=1,sampletime=0。初始条件为:y(0)=2,y’(0)=1。(2)4、用simulink建立下面时变系统模型:假设初始条件为,,请仿真的输出结果。