面向结构图的离散相似法仿真

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

实验2 面向结构图的离散相似法仿真
一、实验目的
培养编写仿真程序的能力,学习并了解仿真程序的结构及特点。

通过实验,加深理解面相结构图的离散相似法的原理。

二、实验内容
线性系统如下图所示
2.5s Transfer Fcn3
20.02s+1Transfer Fcn2
50.004s+1Transfer Fcn1
0.4s+50.4s+1
Transfer Fcn
Step
Scope1
(1)用simulink 仿真,输入为u(t)=10*1(t),输出响应曲线为
00.51 1.52 2.53 3.54 4.55
5
10
15
图1 连续模型的simulink 仿真
(2)将模型离散化,步长为T=0.1,用simulink 仿真,输入为u(t)=10*1(t)。

可以使用下列语句对模型进行离散化,其他环节以此类推: num=5*[0.08,1]; den=[0.4,1]; sys=tf(num,den); T=0.1;
sysd=c2d(sys,T,’zoh ’)
Step
Scope
2.5(z-1)Discrete Zero-Pole4
5(z-1.389e-11)Discrete Zero-Pole2
1.987(z-0.006738)Discrete Zero-Pole1
(z+0.106)(z-0.7788)
Discrete Zero-Pole
02468101214161820
-0.5
0.5
1
1.5
2
2.5
3
3.5
x 10
10
图2 离散模型的simulink仿真(T=0.1)
由图2可知,当离散步长T=0.1时,系统是发散的,不稳定。

(3)采用离散化步长T=0.1,写出系统完整的按环节离 散化模型。

环节分为数4个环节,按从左至右依次编号为①②③④
I 环节之间的连接方程
II 环节内部离散模型
①超前滞后环节
②惯性环节
)
()(10)()()1(4.0)()1(11115.215.21k u k x k y k u e k x e k x T T +=-+=+--
)
()()
()1(2)()1(222502502k x k y k u e k x e k x T T =-+=+--
③惯性环节
④积分环节
)
()()()1(5)()1(33325032503k x k y k u e k x e k x T T =-+=+--
)
()()(T 5.2)()1(44444k x k y k u k x k x =+=+
)()()()()()()()()(34
231241k y k u k y k u k y k u k y k r k u ===-=)(0001)(010*******
01
1-000)()()(0k r k y k r W k y W k u ⎪⎪
⎪⎪



⎝⎛+⎪⎪⎪⎪⎪⎭⎫

⎛=⋅+⋅=
得到环节内部动态方程
环节输出方程
系统输出方程
(4)仿真程序为
分别采用步长T=0.001,0.01,0.1,0.5,进行仿真,得出下列图形
)(0001)(11110)()()(k u k x k u D k x C k y ⎪⎪
⎪⎪
⎪⎭

⎝⎛+⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⋅+⋅=()
)
(1000)()(k y k y Q k p =⋅=)(T 5.2)1(5)1(2)1(4.0)(1)()()1(250505.2250505.2k u e e e k x e e e k Hu k Gx k x T T
T T T T ⎪⎪
⎪⎪⎪⎭⎫ ⎝⎛---+⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=+=+------function
[t,p]=w_DisNodesSimu(tstart,tstop,h,x0,y0,r0,W,W0,G,H,C,D,Q)
t=[tstart:h:tstop];%t 数一个行序列 cntnodes=size(W,1);%得到环节的个数 cntt=size(t,2);%返回列数
cnty=size(Q,1);%返回y 的维数 p=zeros(cnty,cntt);%构造一个空矩阵,用来存储结果 p(:,1)=Q*y0; % for i=1:1:cntt-1
for j=1:1:cntnodes u(j)=W(j,:)*y0+W0(j,:)*r0; x0(j)=G(j,j)*x0(j)+H(j,j)*u(j); y0(j)=C(j,j)*x0(j)+D(j,j)*u(j); end ; p(:,i+1)=Q*y0 ;%将y0作为输出的第1列
end
function simu
tstart=0;tstop=20;x0=[0;0;0;0];u0=[10];h =0.1;
%面向环节离散化仿真
W=[0,0,0,-1;1,0,0,0;0,1,0,0;0,0,1,0]; W0=[1,0,0,0]';C=diag([10,1,1,1]); D=[1,0,0,0;0,0,0,0;0,0,0,0;0,0,0,0]; Q=[0,0,0,1];
G=diag([exp(-2.5*h),exp(-50*h),exp(-250*h),1]);
H=diag([(1-exp(-2.5*h))/2.5,2*(1-exp(-50*h)),5*(1-exp(-250*h)),2.5*h]); y0=x0;
[t,y1]=w_DisNodesSimu(tstart,tstop,h,x0,y0,u0,W,W0,G,H,C,D,Q);
stairs(t,y1,'-b*');
xlabel('x');ylabel('y');
title('图3 逐个环节刷新(T=0.1)');
2468
101214161820
-2.5
-2-1.5-1-0.5
0.5
1
x 10
103
x
y
图3 逐个环节刷新(T=0.1)
2468
101214161820
02468
10
12
14x
y
图4 逐个环节刷新(h=0.01)
2468
101214161820
02468
10
12
14x
y
图5 逐个环节刷新(T=0.001)
02468
101214161820
-8
-7
-6
-5
-4
-3-2
-1
1
x 10
67
x
y
图6 逐个环节刷新(T=0.5)
分析上面的曲线可知,当逐个环节刷新,离散步长为T=0.1时,与simulink仿真的结果一致,系统均不稳定;当离散步长为T=0.01,0.001时,曲线表现为收敛,及系统稳定;当离散步长为T=0.5时,曲线发散,系统不稳定。

三、实验总结
本次实验主要是通过改变离散步长,对结构图的各个环节逐个刷新进行仿真,得到仿真曲线与simulink的相对比,分析系统的稳定性,了解离散相似法的原理,熟悉仿真程序的结构。

实验过程中,遇到的最大困难是对matlab的使用问题,自己上网搜索解决了全部问题,如多项式相乘函数,示波器背景颜色变为白色,将曲线导出到文档中等。

仿真程序由两部分构成,分别是仿真调用函数simu和逐个环节刷新的仿仿真程序w_DisNodesSimu。

编程序的关键是理解离散相似法的原理,首先将各个矩阵求出来,然后将各个变量矩阵放进仿真调用函数即可。

相关文档
最新文档