实验四 面向系统结构图的仿真验证
- 格式:doc
- 大小:18.50 KB
- 文档页数:1
实验二、面向结构图的仿真一、实验过程1.线性系统仿真(1)定义参数并为参数赋值,求解Kc、bc、Kd 、ad 、a1 、K1、a2 、K2等参数;(2)为uc(1)、ud(1)、u1(1)、u2(1)、xc(1)、xd(1)、x1(1)、x2(1)、yd(1)、yc(1)、y1(1)、y2(1)参数赋值为0;(3)迭代求解uc(k)、ud(k)、xc(k)、xd(k)等输入输出变量;(4)将液位高度转换为转换为百分比高度;(5)绘制响应曲线;(6)用MATLAB 求出从输入到输出的传递函数,并将其用c2d 函数,利用双线性变换法转换为离散模型,再用dstep()函数求离散模型的阶跃响应,阶跃幅值为3。
2.含有非线性环节的控制系统仿真非线性环节控制系统与线性控制系统实验方法相同,但离散化模型存在不同,同时需要增加饱和环节判断。
二、实验程序1、线性系统仿真clcclear all%%%%%%%%%%%%%%%%%%%%%定义参数%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%A=2; %水箱横截面积ku=0.1/0.5; %阀门流量系数H10=1.5; %水箱1的平衡高度H20=1.4; %水箱2的平衡高度alpha12 = 0.25/sqrt(H10); %水箱1流向水箱2流量系数alpha2 = 0.25/sqrt(H20); %水箱2流出水流量系数R12=2*sqrt(H10)/alpha12; %线性化数学模型中的参数R2=2*sqrt(H20)/alpha2; %线性化数学模型中的参数H1SpanLo=0; %水箱1量程下限H2SpanLo=0; %水箱2量程下限H1SpanHi=2.52; %水箱1量程上限H2SpanHi=2.52; %水箱2量程上限Kp=1.78; %PI控制器比例系数Ti=85; %PI控制器积分时间常数Kc=Kp/Ti; %式(4)中参数bc=Ti; %式(4)中参数Kd = 1/A; %式(5)中参数ad = 1/(A*R12); %式(5)中参数a1 = 1/(A*R12); %式(6)中参数K1 = ku/A; %式(6)中参数a2 = 1/(A*R2); %式(7)中参数K2 = 1/(A*R12); %式(7)中参数%%%%%%%%%%%%%%%%%%%%%%%%%%%赋初值%%%%%%%%%%%%%%%%%%%%%%%%%uc(1)=0;ud(1)=0;u1(1)=0;u2(1)=0;xc(1)=0;xd(1)=0;x1(1)=0;x2(1)=0;yd(1)=0;yc(1)=0;y1(1)=0;y2(1)=0;k=2;Qd=0; %干扰流量H20_percent=(H20-H2SpanLo)/(H2SpanHi-H2SpanLo)*100;H2=80;tend = 700; %总长T=10;%%%%%%%%%%%%%%%%%%%迭代求解输入输出变量%%%%%%%%%%%%%%%%%%%%%for t=T:T:tenduc(k)= (H2 - (y2(k-1)+H20-H2SpanLo)/(H2SpanHi-H2SpanLo)*100)/100; ud(k)=Qd;u1(k)=yc(k-1);u2(k)=y1(k-1); %扰动为零xc(k) = xc(k-1) + Kc*T*uc(k-1);yc(k)=xc(k)+bc*Kc*uc(k);xd(k) = exp(-ad*T)*xd(k-1) + Kd/ad*(1-exp(-ad*T))*ud(k);yd(k)=xd(k);x1(k) = exp(-a1*T)*x1(k-1) + K1/a1*(1-exp(-a1*T))*u1(k);y1(k)=x1(k);x2(k) = exp(-a2*T)*x2(k-1) + K2/a2*(1-exp(-a2*T))*u2(k);y2(k)=x2(k);k=k+1; %递增end%%%%%%%%%%%%%%%%%%%转换为百分比高度%%%%%%%%%%%%%%%%%%%%%%%Hlevel(:,1)=(y1+H10-H1SpanLo)/(H1SpanHi-H1SpanLo)*100;Hlevel(:,2)=(y2+H20-H2SpanLo)/(H2SpanHi-H2SpanLo)*100;yc=(yc+0.5)*100;H2setpoint=H2*ones(size(y1')); %%%%%%%%%%%%%%%%%%%%%%%%%%%%绘图%%%%%%%%%%%%%%%%%%%%%%%%%% textPositionH1=max(Hlevel(:,1));textPositionH2=max(Hlevel(:,2));H2Steady=Hlevel(size(Hlevel(:,1),1),1)*ones(size(y1'));scrsz = get(0,'ScreenSize');gca=figure('Position',[5 10 scrsz(3)-10 scrsz(4)-90]);set(gca,'Color','w');plot(0:T:tend,Hlevel(:,1),'r','LineWidth',2)hold onplot(0:T:tend,Hlevel(:,2),'b','LineWidth',2)hold onplot(0:T:tend,yc,'k','LineWidth',2)hold onplot(0:T:tend,H2setpoint,'g','LineWidth',2)hold onplot(0:T:tend,H2Steady,'y','LineWidth',2)line([500 525],[105 105],'Color','r','LineWidth',6)text(525,105,' 第1个水箱的液位H1','FontSize',16)line([500 525],[101 101],'Color','b','LineWidth',6)text(525,101,' 第2个水箱的液位H2','FontSize',16)line([500 525],[97 97],'Color','g','LineWidth',6)text(525,97,' 第2个水箱的液位给定值','FontSize',16)line([500 525],[93 93],'Color','k','LineWidth',6)text(525,93,' 阀位变化情况','FontSize',16)axis([0 700 50 110]);text(145,112,' 实验二不考虑阀位饱和特性时的控制效果','FontSize',22) grid2、线性系统仿真(采用c2d函数)clcclear all%%%%%%%%%%%%%%%%%%%%%定义参数%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%A=2; %水箱横截面积ku=0.1/0.5; %阀门流量系数H10=1.5; %水箱1的平衡高度H20=1.4; %水箱2的平衡高度alpha12 = 0.25/sqrt(H10); %水箱1流向水箱2流量系数alpha2 = 0.25/sqrt(H20); %水箱2流出水流量系数R2=2*sqrt(H20)/alpha2; %线性化数学模型中的参数H1SpanLo=0; %水箱1量程下限H2SpanLo=0; %水箱2量程下限H1SpanHi=2.52; %水箱1量程上限H2SpanHi=2.52; %水箱2量程上限Kp=1.78; %PI控制器比例系数Ti=85; %PI控制器积分时间常数Kc=Kp/Ti; %式(4)中参数bc=Ti; %式(4)中参数Kd = 1/A; %式(5)中参数ad = 1/(A*R12); %式(5)中参数a1 = 1/(A*R12); %式(6)中参数K1 = ku/A; %式(6)中参数a2 = 1/(A*R2); %式(7)中参数K2 = 1/(A*R12); %式(7)中参数%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% numc=[Kc*bc,Kc];denc=[1,0];numd=[Kd]dend=[1,ad]num1=[K1]den1=[1,a1]num2=[K2]den2=[1,a2]Gc=tf(numc,denc);G1=tf(num1,den1);G2=tf(num2,den2);Sysq=Gc*G1*G2;SysG=feedback(Sysq,1);GG=c2d(SysG,10,'tustin');dstep(3*GG.num{1},GG.den{1});3、含有非线性环节的控制系统仿真clcclear all%%%%%%%%%%%%%%%%%%%%%定义参数%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% A=2; %水箱横截面积ku=0.1/0.5; %阀门流量系数H10=1.5; %水箱1的平衡高度H20=1.4; %水箱2的平衡高度alpha12 = 0.25/sqrt(H10); %水箱1流向水箱2流量系数alpha2 = 0.25/sqrt(H20); %水箱2流出水流量系数R12=2*sqrt(H10)/alpha12; %线性化数学模型中的参数H1SpanLo=0; %水箱1量程下限H2SpanLo=0; %水箱2量程下限H1SpanHi=2.52; %水箱1量程上限H2SpanHi=2.52; %水箱2量程上限Kp=1.78; %PI控制器比例系数Ti=85; %PI控制器积分时间常数Kc=Kp/Ti; %式(4)中参数bc=Ti; %式(4)中参数Kd = 1/A; %式(5)中参数ad = 1/(A*R12); %式(5)中参数a1 = 1/(A*R12); %式(6)中参数K1 = ku/A; %式(6)中参数a2 = 1/(A*R2); %式(7)中参数K2 = 1/(A*R12); %式(7)中参数%%%%%%%%%%%%%%%%%%%%%%%%%%%赋初值%%%%%%%%%%%%%%%%%%%%%%%%%A=2; uc(1)=0;uv(1)=0;ud(1)=0;u1(1)=0;u2(1)=0;xc(1)=0;xv(1)=0;xd(1)=0;x1(1)=0;x2(1)=0;yc(1)=0;yv(1)=0;yd(1)=0;y1(1)=0;y2(1)=0;nCounter = 70;T=10;k=1;deltaQd=0;c=0.5;H20_percent=(H20-H2SpanLo)/(H2SpanHi-H2SpanLo)*100;H2set_percent=80;tend = nCounter*T;%%%%%%%%%%%%%%%%%%%迭代求解输入输出变量%%%%%%%%%%%%%%%%%%%%%for t=T:T:tendk=k+1;uc(k)=(H2set_percent-(y2(k-1)+H20-H2SpanLo)/(H2SpanHi-H2SpanLo)*100)/100;uv(k)=yc(k-1);ud(k)=deltaQd;if uv(k)>cyv(k)=c;endif uv(k)<-cyv(k)=0;endif uv(k)<=c & uv(k)>=-cyv(k)=uv(k);endu1(k)=yv(k);u2(k)=y1(k-1);xc(k) = xc(k-1) + Kc*T*uc(k-1);yc(k)=xc(k)+bc*Kc*uc(k);xd(k) = exp(-ad*T)*xd(k-1) + Kd/ad*(1-exp(-ad*T))*ud(k);yd(k)=xd(k);x1(k) = exp(-a1*T)*x1(k-1) + K1/a1*(1-exp(-a1*T))*u1(k);y1(k)=x1(k);x2(k) = exp(-a2*T)*x2(k-1) + K2/a2*(1-exp(-a2*T))*u2(k);y2(k)=x2(k);end%%%%%%%%%%%%%%%%%%%转换为百分比高度%%%%%%%%%%%%%%%%%%%%%%%Hlevel(:,1)=(y1+H10-H1SpanLo)/(H1SpanHi-H1SpanLo)*100;Hlevel(:,2)=(y2+H20-H2SpanLo)/(H2SpanHi-H2SpanLo)*100;yc=(yc+0.5)*100;y2sp=H2set_percent*ones(size(y1')); %%%%%%%%%%%%%%%%%%%%%%%%%%%%绘图%%%%%%%%%%%%%%%%%%%%%%%%%% textPositionH1=max(Hlevel(:,1));textPositionH2=max(Hlevel(:,2));H2Steady=Hlevel(size(Hlevel(:,1),1),1)*ones(size(y1'));scrsz = get(0,'ScreenSize');gca=figure('Position',[5 10 scrsz(3)-10 scrsz(4)-90])set(gca,'Color','w');plot(0:T:tend,Hlevel(:,1),'r','LineWidth',2)hold onplot(0:T:tend,Hlevel(:,2),'b','LineWidth',2)hold onplot(0:T:tend,yv,'k','LineWidth',2)hold onplot(0:T:tend,y2sp,'g','LineWidth',2)hold onplot(0:T:tend,H2Steady,'y','LineWidth',2)line([500 525],[105 105],'Color','r','LineWidth',6)text(525,105,' 第1个水箱的液位H1','FontSize',16)line([500 525],[101 101],'Color','b','LineWidth',6)text(525,101,' 第2个水箱的液位H2','FontSize',16)line([500 525],[97 97],'Color','g','LineWidth',6)text(525,97,' 第2个水箱的液位给定值','FontSize',16)line([500 525],[93 93],'Color','k','LineWidth',6)text(525,93,' 阀位变化情况','FontSize',16)axis([0 700 50 110]);text(145,112,' 实验三考虑阀位饱和特性时的控制效果','FontSize',22) grid三、实验分析离散模型的阶跃响应四、实验思考1.在未考虑调节阀饱和特性时,讨论一下两个水箱液位的变化情况,工业上是否允许?讨论阀位的变化情况,工业上是否能实现?2.实验三与实验二相比,考虑调节阀饱和特性前后,响应有何不同?五、实验总结。
系统仿真实验报告范文四川大学课程实验报告课程名称:系统仿真综合实验学生姓名:学生学号:专业:实验目的系统仿真是运用仿真软件(如imio)创造模型来构建或模拟现实世界的虚拟实验室,它能过帮助你探寻你所关注的系统在给定的条件下的行为或状态,它还能帮助你在几乎没有风险的情况下观察各种改进和备选方案的效果。
尤其是对一些难以建立物理模型和数学模型的复杂的随机问题,可通过仿真模型来顺利地解决预测、分析和评价等系统问题。
实验地点及环境四川大学工商管理学院的学院大楼综合实验室,运用PC机及imio系统仿真软件,在老师的指导下完成此次系统仿真实验。
实验步骤㈠、建立模型1.ModelⅠ首先加入一个ource、三个erver、一个ink、一个ModeEntity,并用path连接。
将ource更名为arrive,ink更名为depart,ModelEntity更名为cutomer。
设置运行时间8小时。
在Animation中添加StatuLabel到arrive,E某preion为arrive.OutputBuffer.Content。
同样为erver和dapart添加StatuLabel,E某preion分别为Server1.InputBuffer.Content、Server2.InputBuffer.Content、Server3.InputBuffer.Content、depart.InputBuffer.NumberEntered,来记录每个位置的排队人数和通过人数。
为每个erver添加一个Te某tScale为1的Statupie,来显示和观察服务台的利用率变化。
保存命名为ModelⅠ。
2.ModelII首先加入一个ource、三个erver、一个ink、一个ModelEntity,并用path连接。
将ource更名为arrive,ink更名为depart,ModelEntity更名为cutomer。
在Animation中添加StatuLabel到arrive,E某preion为arrive.OutputBuffer.Content。
系统建模与仿真实验报告系统建模与仿真实验报告1. 引言系统建模与仿真是一种重要的工程方法,可以帮助工程师们更好地理解和预测系统的行为。
本实验旨在通过系统建模与仿真的方法,对某个实际系统进行分析和优化。
2. 实验背景本实验选择了一个电梯系统作为研究对象。
电梯系统是现代建筑中必不可少的设备,其运行效率和安全性对于整个建筑物的使用体验至关重要。
通过系统建模与仿真,我们可以探索电梯系统的运行规律,并提出优化方案。
3. 系统建模为了对电梯系统进行建模,我们首先需要确定系统的各个组成部分及其相互关系。
电梯系统通常由电梯、楼层按钮、控制器等组成。
我们可以将电梯系统抽象为一个状态机模型,其中电梯的状态包括运行、停止、开门、关门等,楼层按钮的状态则表示是否有人按下。
4. 仿真实验在建立了电梯系统的模型之后,我们可以通过仿真实验来模拟系统的运行过程。
通过设定不同的参数和初始条件,我们可以观察到系统在不同情况下的行为。
例如,我们可以模拟电梯在高峰期和低峰期的运行情况,并比较它们的效率差异。
5. 仿真结果分析通过对仿真实验结果的分析,我们可以得出一些有价值的结论。
例如,我们可以观察到电梯在高峰期的运行效率较低,这可能是由于大量乘客同时使用电梯导致的。
为了提高电梯系统的运行效率,我们可以考虑增加电梯的数量或者改变乘客的行为规则。
6. 优化方案基于对仿真结果的分析,我们可以提出一些优化方案来改进电梯系统的性能。
例如,我们可以建议在高峰期增加电梯的数量,以减少乘客等待时间。
另外,我们还可以建议在电梯内设置更多的信息显示,以便乘客更好地了解电梯的运行状态。
7. 结论通过本次实验,我们深入了解了系统建模与仿真的方法,并应用于电梯系统的分析和优化。
系统建模与仿真是一种非常有用的工程方法,可以帮助我们更好地理解和改进各种复杂系统。
在未来的工作中,我们可以进一步研究和优化电梯系统,并将系统建模与仿真应用于更多的实际问题中。
8. 致谢在本次实验中,我们受益于老师和同学们的帮助与支持,在此表示诚挚的感谢。
仿真验证的常见方法仿真验证是一种帮助设计、优化和评估运行中的系统的常见方法。
它通过模拟系统的行为和性能来获得关于系统行为的详细信息,从而传达设计决策的影响和改进方案的潜在效果。
随着计算能力的提升,仿真验证已成为工程领域不可或缺的工具。
本文将介绍几种常见的仿真验证方法。
1.离散事件仿真(DES):离散事件仿真适用于模拟系统中离散事件的发生和处理过程。
它将系统建模为由一系列事件组成的网络,每个事件代表一个系统状态的改变。
通过模拟事件的发生和处理过程,离散事件仿真可以帮助评估不同的决策方案对系统性能的影响。
2.连续仿真(CS):连续仿真适用于模拟连续系统的行为。
它将系统建模为一组连续的方程和约束条件,并使用数值方法来模拟系统的运行。
连续仿真在评估系统的动态性能和响应性方面非常有用。
3. 蒙特卡罗仿真(Monte Carlo Simulation):蒙特卡罗仿真是一种基于随机抽样的方法,用于评估系统在不同参数组合下的行为和性能。
它通过从概率分布中抽取大量样本,利用这些样本的统计特性来估计系统的行为。
蒙特卡罗仿真可以帮助评估系统的风险和不确定性。
4. Agent-Based Modeling(ABM):Agent-Based Modeling是一种建立于个体行为的仿真方法。
它将系统建模为一组独立的个体,每个个体都有自己的行为规则和互动方式。
通过模拟个体之间的互动,Agent-Based Modeling可以帮助评估不同决策对系统整体行为的影响。
5. 虚拟现实仿真(Virtual Reality Simulation):虚拟现实仿真是一种基于计算机生成的环境和交互技术的仿真方法。
它通过模拟真实场景和用户交互,提供一种沉浸式的仿真体验。
虚拟现实仿真可以帮助评估设计决策在真实环境中的效果和用户体验。
6. 博弈论仿真(Game Theory Simulation):博弈论仿真是一种用于评估决策者之间策略选择和博弈行为的仿真方法。
网络系统仿真设计的模型构建与验证一、引言网络系统仿真是指使用计算机程序模拟网络系统的行为和性能。
它是一种有效的工具,可以帮助研究人员和工程师在实际系统投入使用之前评估和改进系统的设计。
在进行网络系统仿真时,模型的构建和验证是非常重要的步骤。
本文将重点讨论网络系统仿真模型的构建与验证。
二、网络系统仿真模型的构建1. 确定仿真目标:在构建网络系统仿真模型之前,需要明确仿真的目标,例如评估系统的性能、研究系统的稳定性等。
这有助于选择合适的建模方法和技术。
2. 收集系统数据:为了构建可靠的仿真模型,需要收集系统的相关数据,例如网络拓扑结构、数据流量、网络设备特性等。
这些数据将用于确定系统的输入和输出。
3. 选择建模方法:根据仿真目标和数据的特点,选择合适的建模方法。
常用的建模方法包括离散事件仿真(Discrete Event Simulation, DES)、连续仿真(Continuous Simulation)和混合仿真(Hybrid Simulation)等。
4. 设计模型结构:根据所选择的建模方法,设计网络系统仿真模型的结构。
模型结构应能够准确地反映真实系统的特性,并且具有可扩展性和灵活性。
5. 简化模型:在构建网络系统仿真模型时,往往需要对模型进行简化。
简化模型可以减少计算复杂性,提高仿真的效率。
然而,简化模型也会带来一定的误差,因此需要在精度和计算效率之间进行权衡。
三、网络系统仿真模型的验证1. 确定验证指标:为了验证网络系统仿真模型的准确性,需要确定一些验证指标,例如网络时延、吞吐量、丢包率等。
这些指标应与实际系统的性能指标相对应。
2. 收集实际数据:为了验证仿真模型的准确性,需要收集实际系统的性能数据。
可以通过监测网络流量、记录设备运行状态等方式获取实际数据。
3. 对比实际数据与仿真结果:将实际数据与仿真结果进行对比分析,评估仿真模型的准确性。
如果仿真结果与实际数据相符,说明仿真模型是可靠的;如果存在较大误差,需要进一步改进模型。
实验2 面向结构图的离散相似法仿真一、实验目的培养编写仿真程序的能力,学习并了解仿真程序的结构及特点。
通过实验,加深理解面相结构图的离散相似法的原理。
二、实验内容线性系统如下图所示2.5s Transfer Fcn320.02s+1Transfer Fcn250.004s+1Transfer Fcn10.4s+50.4s+1Transfer FcnStepScope1(1)用simulink 仿真,输入为u(t)=10*1(t),输出响应曲线为00.51 1.52 2.53 3.54 4.5551015图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 ’)StepScope2.5(z-1)Discrete Zero-Pole45(z-1.389e-11)Discrete Zero-Pole21.987(z-0.006738)Discrete Zero-Pole1(z+0.106)(z-0.7788)Discrete Zero-Pole02468101214161820-0.50.511.522.533.5x 1010图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 =+=+)()()()()()()()()(34231241k y k u k y k u k y k u k y k r k u ===-=)(0001)(010*******011-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 TT 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-1for 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列endfunction simutstart=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)');2468101214161820-2.5-2-1.5-1-0.50.51x 10103xy图3 逐个环节刷新(T=0.1)246810121416182002468101214xy图4 逐个环节刷新(h=0.01)246810121416182002468101214xy图5 逐个环节刷新(T=0.001)02468101214161820-8-7-6-5-4-3-2-11x 1067xy图6 逐个环节刷新(T=0.5)分析上面的曲线可知,当逐个环节刷新,离散步长为T=0.1时,与simulink仿真的结果一致,系统均不稳定;当离散步长为T=0.01,0.001时,曲线表现为收敛,及系统稳定;当离散步长为T=0.5时,曲线发散,系统不稳定。
实验四面向系统结构图的仿真验证(2学时)
一.实验目的:
从控制系统常见的结构形式拓扑描述入手,掌握面向连续控制系统结构图的计算机仿真方法及其程序实现。
二.实验原理及预习内容:
1.原理:任何复杂连接结构的线性控制系统都是由一些简单的线性环节组合而成,按照它们之间相互连接的拓扑关系列出连接矩阵,可以得到能清晰地描述复杂连接系统的仿真模型。
2.预习内容:利用连接矩阵进行复杂控制系统建模的方法和原理。
三.实验步骤:
1.对具有复杂连接闭环结构形式的系统,可用一阶环节作为典型环节,再运用拓扑描述中联接矩阵的表达方法得出此类系统结构的仿真模型;
2.再通过数值积分法求取各环节的动态响应。
注意:所确定的典型环节中,参数0
B ,以保证系统仿真求解的基本条件。
i
四.实验内容:
习题3-2.设典型闭环结构控制系统如下图所示,当阶跃输入幅值R=20时,用面向系统结构图的数字仿真法sp3-1.m求取系统的输出响应。
五.实验要求:
1.列出复杂连接闭环系统的仿真程序框图;
2.列出MATLAB程序实现的主要程序,包括输入数据、形成闭环各系统阵、数值积分求解、以及输出结果;
3.注意:为理解程序含义,应给出每个语句的执行结果,并在word文档中写出。