例 10.1 设系统的微分方程为:
t
exx
txx
5.0
2
'
2
2
'
1
试建立系统仿真模型。
例 10.2 利用 Simulink 构建函数曲线 y=5t
2
+16。
例 10.3 利用 Simulink 仿真求 I=
。
例 10.4 有初始状态为 0 的二阶微分方程 x"+0.2x'+0.4x=0.2u (t), 其中 u(t)
是单位阶跃函数,试建立系统模型并仿真。
例 10.5 PID 控制器是在自动控制中经常使用的模块,在工程应用中其标
准的数学模型为
)()
/
1
1()( sE
NsT
sT
sT
KsU
d
d
i
p
其中采用了一阶环节来近似纯微分动作,为保证有良好的微分近似的效果,一
般选 N≥10。试建立 PID 控制器的模型并建立子系统。
例 10.6 利用使能子系统构成一个正弦半波整流器。
例 10.7 利用触发子系统将一锯齿波转换成方波。
例 10.8 采用 S 函数实现模块 y=nx,即模块的功能是把一个输入信号 n 倍
以后再输出。
(1) 利用MATLAB语言编写S函数。程序如下:
%*************************************************
%S 函数 timesn.m,其输出是输入的 n 倍
%*************************************************
function [sys,x0,str,ts]=timesn(t,x,u,flag,n)
switch flag,
case 0 %初始化
[sys,x0,str,ts]=mdlInitializeSizes;
case 3 %计算输出量
sys=mdlOutputs(t,x,u,n);
case {1,2,4,9} %未使用的 flag 值
sys=[];
otherwise %出错处理
error(['Unhandle flag=',num2str(flag)]);
end
%*************************************************
%mdlInitializeSizes:当 flag 为 0 时进行整个系统的初始化
%*************************************************
评论1
最新资源