实验二 控制系统的数学模型、转换及连续系统的数字仿真

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二 控制系统的数学模型、转换及连续系统的数字仿真

1、实验目的与基本要求

(1)利用MA TLAB 描述控制系统的各种数学模型; (2)利用MA TLAB 实现系统数学模型间的相互转换;

(3)利用MA TLAB 实现控制系统的串联、并联和反馈连接。 (4)掌握面向系统微分方程的连续系统的数字仿真方法及程序; (5)掌握面向系统结构图的连续系统的数字仿真方法及程序; (6)连续系统的快速仿真。 2、实验环境

(1) 微机一台

(2) MATLAB6.5或者MATLAB7软件

3、实验内容

1、MA TLAB 描述控制系统的各种数学模型 例1 若给定系统的传递函数为

将其用MATLAB 语句表示。 num=4*conv([1,2],[1,6,6])

den=conv([1,0],conv([1,1],conv([1,1],conv([1,1],[1,3,2,5])))) printsys(num,den)

num/den =

4 s^3 + 32 s^2 + 72 s + 48

----------------------------------------------------- s^7 + 6 s^6 + 14 s^5 + 21 s^4 + 24 s^3 + 17 s^2 + 5 s

例2 设系统的状态空间表达式为 将其用MATLAB 语句表示。

>> a=[0 0 1;-3/2 -2 -1/2;-3 0 -4];b=[1 1;-1 -1;-1 -3];c=[1 0 0;0 1 0]; >> a=[0 0 1;-3/2 -2 -1/2;-3 0 -4],b=[1 1;-1 -1;-1 -3],c=[1 0 0;0 1 0],d=zeros(2,2)

)

523()1()

66)(2(4)(2332+++++++=

s s s s s s s s s G ⎪⎪⎪

⎩⎪⎪⎪⎨⎧⎥⎦

⎤⎢⎣⎡=⎥⎥⎥⎦

⎤⎢⎢⎢⎣⎡----+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-----=)(01000

1)()(311111

)(4032/122/3100)(t x t y t u t x t x

a =

0 0 1.0000

-1.5000 -2.0000 -0.5000

-3.0000 0 -4.0000

b =

1 1

-1 -1

-1 -3

c =

1 0 0

0 1 0

d =

0 0

0 0

>>

2、利用MATLAB实现系统数学模型间的转换

将例2状态空间表达式转换为传递函数;[num,den]=ss2tf(a,b,c,d,1)

num =

0 1.0000 5.0000 6.0000

0 -1.0000 -5.0000 -6.0000 den =

1 6 11 6

>> [num,den]=ss2tf(a,b,c,d,2)

num =

0 1.0000 3.0000 2.0000

0 -1.0000 -4.0000 -3.0000

den =

1 6 11 6

3、利用MATLAB实现控制系统的串联、并联和反馈连接

图2-7

已知系统的方框图如图2-7所示,求系统的传递函数。

num1=[1];den1=[2 0.5];num2=[10];den2=[1 1];num3=[0.1];den3=[1];num4=[540];den4=[1];num5=[1];den5=[1];

>> [n1,d1]=series(num2,den2,num1,den1);[n2,d2]=feedback(n1,d1,num3,den3);

>> [n3,d3]=series(num4,den4,n2,d2);[n4,d4]=feedback(n3,d3,num5,den5);

>> printsys(n4,d4)

num/den =

5400

----------------------

2 s^2 + 2.5 s + 5401.5

例3假设单变量系统如教材图3-5所示。

试根据四阶龙格库塔法,熟悉MATLAB仿真程序,求输出量y的动态响应曲线。

r=2;num=8;den=[1 3 0];num2=[1];den2=[1];

[no,do]=feedback(num,den,num2,den2);

[a,b,c,d]=tf2ss(no,do);

tf=input('仿真时间tf: ');h=input('计算步长h: ');

x=zeros(length(a),1);y=0;t=0;

for i=1:tf/h

k1=a*x+b*r;

k2=a*(x+h*k1/2)+b*r;

k3=a*(x+h*k2/2)+b*r;

k4=a*(x+h*k3/2)+b*r;

x=x+h*(k1+2*k2+2*k3+k4)/6;

y=[y;c*x];

t=[t;t(i)+h];

end

plot(t,y)

00.51 1.52 2.53 3.54 4.55

0.5

1

1.5

2

2.5

例4 假设某一系统由四个典型环节组成,如图3-11所示。

1、给出典型环节的参数矩阵P

2、给出连接矩阵W 、W 0和W c ;

3、熟悉 MATLAB 仿真程序,求输出量y 的动态响应曲线。 %ex3_2.m r=10;

p=[0.1 1 0.5 1;0 1 1 0;2 1 2 0;10 1 10 0]; W=[0 0 0 -1;1 0 0 0;0 1 0 0;0 0 1 0]; W0=[1;0;0;0];Wc=[0 0 0 1];

Tf=input('仿真时间Tf = ');h=input('计算步长h = ');

A1=diag(p(:,1));B1=diag(p(:,2));C1=diag(p(:,3));D1=diag(p(:,4)); H=B1-D1*W;Q=C1*W-A1; A=inv(H)*Q;B=inv(H)*C1*W0;

x=[zeros(length(A),1)];y=[zeros(length(Wc(:,1)),1)]; t=0;

for i = 1:Tf/h

K1=A*x+B*r;

K2=A*(x+h*K1/2) + B*r; K3=A*(x+h*K2/2) + B*r;

r

图3-11

相关文档
最新文档