控制系统仿真实验报告姓名:大葱哥学号:班级:测10.28实验一经典的连续系统仿真建模方法一实验目的1.了解和掌握利用仿真技术对控制系统进行分析的原理和步骤。2.掌握机理分析建模方法。3.深入理解一阶常微分方程组数值积分解法的原理和程序结构,学习用Matlab编写数值积分法仿真程序。4.掌握和理解四阶Runge-Kutta法,加深理解仿真步长与算法稳定性的关系。二实验内容编写四阶Runge_Kutta公式的计算程序,对非线性模型(3)式进行仿真。仿真程序:主程序:clcclear allu=zeros(2,1);u(1)=0.5%稳态%u(1)=0.55;%阀位增大%10%u(1)=0.45;%阀位减小%10u(2)=0.15;h=zeros(1,2);h(1,1)=1.5;h(1,2)=1.4;hStep = 10;Hlevel = h;nCounter = 25;for t=0:hStep:(nCounter-1)*hStep h = Z06_SystemSimulation_Lab01_Nonlinear_RK4(hStep,t,h,u);Hlevel=[Hlevel;h];endfigure(1)plot([0:hStep:nCounter*hStep],Hlevel)grid四阶龙格库塔算法:function RK4_Result = Z06_SystemSimulation_Lab01_Nonlinear_RK4(h,t0,x0,u0)K1=Z06_SystemSimulation_Lab01_Linear_dxCompute(t0,x0,u0);K2=Z06_SystemSimulation_Lab01_Linear_dxCompute(t0+h/2,x0+h*K1/2,u0);K3=Z06_SystemSimulation_Lab01_Linear_dxCompute(t0+h/2,x0+h*K2/2,u0);K4=Z06_SystemSimulation_Lab01_Linear_dxCompute(t0+h,x0+h*K3,u0);RK4_Result = x0 + h*(K1+2*K2+2*K3+K4)/6;将阀位 u 增大 10%和减小 10%,观察响应曲线的形状;稳态仿真曲线:增大10%:减小10%:研究仿真步长对稳定性的影响,仿真步长取多大时 RK4 算法变得不稳定?仿真步长的选取范围可以通过理论计算获知,这里我们通过仿真得到当步长大于63时,曲线发散,系统不再稳定,发散曲线如下图:(3)利用 MATLAB 中的 ode45()函数进行求解,比较与(1)中的仿真结果有何区别。2. 编写四阶Runge_Kutta公式的计算程序,对线性状态方程(18)式进行仿真仿真程序clcclear allclose allu=zeros(2,1);u(1)=0.0;%稳态%u(1)=0.05;%阀位增大%10%u(1)=-0.05;%阀位减小%10u(2)=0;h=zeros(1,2);h(1,1)=0;h(1,2)=0;hStep = 10;Hlevel = h;nCounter = 25;for t=0:hStep:(nCounter-1)*hStep h = Z06_SystemSimulation_Lab01_Linear_RK4(hStep,t,h,u);Hlevel=[Hlevel;h];endHlevel(:,1) = Hlevel(:,1)+1.5;Hlevel(:,2) = Hlevel(:,2)+1.4;figure(3)plot([0:hStep:nCounter*hStep],Hlevel)gridhold on将阀位增大 10%和减小 10%,观察响应曲线的形状;稳态仿真曲线:阀位增大%10:阀位减小%10:研究仿真步长对稳定性的影响,仿真步长取多大时 RK4 算法变得不稳定?当步长大于62时,算法变得不再稳定阀位增大 10%和减小 10%,利用 MATLAB 中的 ode45()函数进行求解阶跃响应,比较与(1)中的仿真结果有何区别。三思考题讨论仿真步长对稳定性和仿真精度的影响。仿真步长越长,系统越倾向于不稳定,仿真步长越短,系统越稳定,但是需要的仿真时间越长。2.你是怎样实现阀位增大和减小10%的?对于非线性模型和线性模型方法一样吗?通过改变u(1)的初值可以实现对阀位的增大和减小,由于线性模型法是对变量的变化量进行计算的,而非线性模型法是直接对变量进行计算,所以两种方法实现对阀位的增大和减小方面存在一些区别,不完全一致。四实验总结通过本次实验我学会了Matlab的基本使用方法,对该软件有了一定程度的认识,同时对仿真步长对系统的稳定性和仿真精度的关系有了一
原创力文档

文档评论(0)