- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
subplot(223),plot(t,y3,′r′),
title(′UnderDamping―Impulse′),grid xlabel(′Time′),ylabel(′SystemResponse′) subplot(224),plot(t,y4,′r′), title(′NoDamping―Impulse′),grid
变(LTI)系统之间的转换关系。
图4.1 连续与离散系统的关系示意图
图4.1中显示了MATLAB可以完成离散和连续系
统的建模,并且同一系统可以表示成连续系统,也可以 表示成离散系统,它们之间可以以状态方程形式进行转 化。这一节将结合一个具体实例来演示MATLAB中各 种模型创建和相互之间进行转化的方法,以及如何用 Simulink进行连续系统的仿真。首先给出实例的源程 序MODLDEMO.M,然后根据不同的主题结合实例进 行讲述。
title(′NoDamping―Step′),grid
xlabel(′Time′),ylabel(′SystemResponse′) disp(′hitanykeytocontinue′),pause
%在Matlab中进行模型转化。
对于m=k=1, %G(s)=1/[s^2+cs+1]=z(s)/p(s) disp(′TransferFunctionForm′) sys1t=tf(sys1s),sys2t=tf(sys2s)
xlabel(′Time′),ylabel(′SystemResponse′) subplot(222),plot(t,y2,′r′), title(′OverDamping―Step′),grid
xlabel(′Time′),ylabel(′SystemResponse′)
subplot(223),plot(t,y3,′r′), title(′UnderDamping―Step′),grid xlabel(′Time′),ylabel(′SystemResponse′) subplot(224),plot(t,y4,′r′),
xlabel(′Time′),ylabel(′SystemResponse′)
%
y1=step(sys1s,t);y2=step(sys2s,t);y3=step(sys3s,t); y4=step(sys4s,t); figure(2) subplot(221),plot(t,y1,′r′),
title(′CriticalDamping―Step′),grid
第4章 控制系统的设计与仿真
参赛选手:*****
4.1 系统建模与仿真框图的创建 4.2 控制系统设计 4.3 控制系统的时域仿真 4.4 实例:倒摆系统的建模与仿真
Biblioteka Baidu
4.1 系统建模与仿真框图的创建
4.1.1 众所周知, 现实世界中存在着各种不同的控制系统。 对于线性时不变( LTI )系统 , 一般可以分为连续和离 散系统。MATLAB中为用户提供了丰富的针对各种系 统的建模手段。图4.1显示了MATLAB中各种线性时不
例4.1 对于Mass Spring Dashpot机械系统:
m y (t ) c y ky (t ) u(t )
..
.
(4.1)
试建立该系统的连续和离散模型 ,并进行时域和频 域仿真。
解:程序源代码如下:
%MODLDEMO.M
演示各种建模与仿真(时域和频域) clearall,closeall %程序开始,清空工作空间, deletemodldemo.out,diarymodldemo.out
subplot(221),plot(t,y1,′r′),title(′CriticalDamping―Impulse′),grid
xlabel(′Time′),ylabel(′SystemResponse′) subplot(222),plot(t,y2,′r′),title(′OverDamping―Impulse′),grid xlabel(′Time′),ylabel(′SystemResponse′)
%
disp(′ResidueForm′) [n1,d1]=tfdata(sys1t);[n2,d2]=tfdata(sys2t); [n3,d3]=tfdata(sys3t);[n4,d4]=tfdata(sys4t);
%注意tfdata
% n1=n1{1},d1=d1{1},n2=n2{1},d2=d2{1}, n3=n3{1},d3=d3{1},n4=n4{1},d4=d4{1}, %
%
disp(′***MODLDEMO.OUT*** DiaryFileforMODLDEMO.M′),disp(′′)
m=1
k=1
%
%单位kg/s^2 %单位kg/s
c=[2.0 2.5 1.2 0.0]
%
disp(′StateSpaceModels′) km=k/m; A1=[01;-km-c(1)/m],A2=[01;-km-c(2)/m] A3=[01;-km-c(3)/m],A4=[01;-km-c(4)/m]
sys3t=tf(sys3s),sys4t=tf(sys4s)
disp(′hitanykeytocontinue′),pause
%
disp(′Zero―Pole―GainForm′) sys1z=zpk(sys1t),sys2z=zpk(sys2t) sys3z=zpk(sys3t),sys4z=zpk(sys4t) disp(′hitanykeytocontinue′),pause
B=[01/m]′,C=[10],D=[0]
sys1s=ss(A1,B,C,D);sys2s=ss(A2,B,C,D); sys3s=ss(A3,B,C,D);sys4s=ss(A4,B,C,D);
%仿真系统的脉冲和阶跃响应(时域)
t=0:.2:15; y1=impulse(sys1s,t);y2=impulse(sys2s,t); y3=impulse(sys3s,t);y4=impulse(sys4s,t); figure(1)
[r1,pr1,kr]=residue(n1,d1),[r2,pr2,kr]=residue(n2,d2)