如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
(精品word)MATLABS函数的调用实例
(精品word)MATLABS函数的调用实例
(精品word)MATLABS函数的调用实例
期末作业
1.求解微分方程,初始条件。要求交mdl文件及仿真结果的截图.
解:用Simulink连接的仿真图如下所示:
求解出的x1,x2,x3的解如下图(a)所示的仿真结果:
2。当电源电压V时,求解表达式y(t)的波形:,其中y(0)=1。要求交mdl文件及仿真结果的截图。
解:用Simulink连接的仿真图如下所示:
仿真结果如下图(b)所示:
3。使用S函数实现y=5*x+3,建立仿真模型并得出仿真结果.要求交mdl文件,S函数及仿真结果的截图。
解:用Simulink连接的仿真图如下所示:
S函数的代码如下:
function[sys,x0,str,ts]=mysfun3(t,x,u,flag)
switchflag,
case0,
[sys,x0,str,ts]=mdlInitializeSizes;
case1,
sys=mdlDerivatives(t,x,u);
case2,
sys=mdlUpdate(t,x,u);
case3,
sys=mdlOutputs(t,x,u);
case4,
sys=mdlGetTimeOfNextVarHit(t,x,u);
case9,
sys=mdlTerminate(t,x,u);
otherwise
error([’Unhandledflag=',num2str(flag)]);
end
function[sys,x0,str,ts]=mdlInitializeSizes
sizes=simsizes;
sizes。NumContStates=0;
sizes.NumDiscStates=0;
sizes.NumOutputs=1;
sizes。NumInputs=1;
sizes。DirFeedthrough=1;
sizes。NumSampleTimes=1;
sys=simsizes(sizes);
x0=[];
str=[];
ts=[00];
functionsys=mdlDerivatives(t,x,u)
sys=[];
functionsys=mdlUpdate(t,x,u)
sys=[];
functionsys=mdlOutputs(t,x,u)
sys=5*u+3;
functionsys=mdlGetTimeOfNextVarHit(t,x,u)
sampleTime=1;
sys=t+sampleTime;
functionsys=mdlTerminate(t,x,u)
sys=[];
仿真结果如下图(c)所示:
4.已知某系统的状态方程如下:
试用S函数建立其仿真模型,并求其单位阶跃响应曲线.
解:用Simulink连接的仿真图如下所示:
S函数的代码如下:
function[sys,x0,str,ts]=mysfun4(t,x,u,flag)
switchflag,
case0,
[sys,x0,str,ts]=mdlInitializeSizes;
case1,
sys=mdlDerivatives(t,x,u);
case2,
sys=mdlUpdate(t,x,u);
case3,
sys=mdlOutputs(t,x,u);
case4,
sys=mdlGetTimeOfNextVarHit(t,x,u);
case9,
sys=mdlTerminate(t,x,u);
otherwise
DAStudio。error('Simulink:blocks:unhandledFlag',num2str(flag));
end
function[sys,x0,str,ts]=mdlInitializeSizes
sizes=simsizes;
sizes。NumContStates=3;
sizes.NumDiscStates=0;
sizes.NumOutputs=1;
sizes。NumInputs=1;
sizes.DirFeedthrough=0;
sizes.NumSampleTimes=1;
sys=simsizes(sizes);
x0=[0;0;0];
str=[];
ts=[00];
functionsys=mdlDerivatives(t,x,u)
x(1)=1*x(1)-1*x(2)-2*x(3)+u;
x(2)=2*x(2)-1*x(3);
x(3)=3*x(3)+u;
sys=x;
functionsys=mdlUpdate(t,x,u)
sys=[];
functionsys=mdlOutputs(t,x,u)
sys=1*x(1)-2*x(2)+3*x
17****21
实名认证
内容提供者
最近下载