《控制系统仿真实验一报告通信电子电子电气自动化_通信电子-电子电气自动化.pdf》由会员分享,可在线阅读,更多相关《控制系统仿真实验一报告通信电子电子电气自动化_通信电子-电子电气自动化.pdf(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、实验一 经典的连续系统仿真建模方法 一 实验目的 1 了解和掌握利用仿真技术对控制系统进行分析的原理和步骤。2 掌握机理分析建模方法。3 深入理解一阶常微分方程组数值积分解法的原理和程序结构,学习用Matlab 编写 数值积分法仿真程序。4 掌握和理解四阶 Runge-Kutta 法,加深理解仿真步长与算法稳定性的关系。二 实验内容 1.编写四阶 Runge_Kutta 公式的计算程序,对非线性模型(3)式进行仿真。(1)将阀位u 增大10和减小10,观察响应曲线的形状;u=时的图像:010020030040050060070080090010001.251.31.351.41.451.5 u
2、=010020030040050060070080090010001.351.41.451.51.551.61.651.7 开大或关小阀位之后,稳态值会相应的从原液位上升或下降,这是符合实际的。(2)研究仿真步长对稳定性的影响,仿真步长取多大时RK4 算法变得不稳定 由(1)可知,当步长为40时,仿真结果是稳定的 当步长为80时的图像 机理分析建模方法深入理解一阶常微分方程组数值积分解法的原理和程序结构学习用编写数值积分法仿真程序掌握和理解四阶法加深理解仿真步长与算法稳定性的关系二实验内容编写四阶公式的计算程序对非线性模型式进行仿真将实际的研究仿真步长对稳定性的影响仿真步长取多大时算法变得不稳
3、定由可知当步长为时仿真结果是稳定的当步长为时的图像的数值稳定但是并不是实际求得的稳态值的值显然发散进一步取小步长取时图像出现偏差但是稳态值不变阀位在主程序中添加的算法将与编写的龙格库塔算法画到同一个坐标系中点表示可以发现更快达到稳定值实际上在缩小了编写算法中的步长后两种算法的曲线基本重合说明的精度很高编写四阶公式的计算程序对线性状态方程式进行012345671.21.31.41.51.61.7 0200400600800100012001400160018002000-140-120-100-80-60-40-20020 h(1,1)的数值稳定,但是并不是实际求得的稳态值。h(1,2)的值显然
4、发散。进一步取小步长,取hstep=42 时,图像出现偏差,但是稳态值不变 机理分析建模方法深入理解一阶常微分方程组数值积分解法的原理和程序结构学习用编写数值积分法仿真程序掌握和理解四阶法加深理解仿真步长与算法稳定性的关系二实验内容编写四阶公式的计算程序对非线性模型式进行仿真将实际的研究仿真步长对稳定性的影响仿真步长取多大时算法变得不稳定由可知当步长为时仿真结果是稳定的当步长为时的图像的数值稳定但是并不是实际求得的稳态值的值显然发散进一步取小步长取时图像出现偏差但是稳态值不变阀位在主程序中添加的算法将与编写的龙格库塔算法画到同一个坐标系中点表示可以发现更快达到稳定值实际上在缩小了编写算法中的步
5、长后两种算法的曲线基本重合说明的精度很高编写四阶公式的计算程序对线性状态方程式进行0200400600800100012001.351.41.451.51.551.61.651.71.75 Hstep=65时,图像偏差明显 0200400600800100012001400160018000.511.522.53 而hsetp=时,图像就发散了 机理分析建模方法深入理解一阶常微分方程组数值积分解法的原理和程序结构学习用编写数值积分法仿真程序掌握和理解四阶法加深理解仿真步长与算法稳定性的关系二实验内容编写四阶公式的计算程序对非线性模型式进行仿真将实际的研究仿真步长对稳定性的影响仿真步长取多大时算
6、法变得不稳定由可知当步长为时仿真结果是稳定的当步长为时的图像的数值稳定但是并不是实际求得的稳态值的值显然发散进一步取小步长取时图像出现偏差但是稳态值不变阀位在主程序中添加的算法将与编写的龙格库塔算法画到同一个坐标系中点表示可以发现更快达到稳定值实际上在缩小了编写算法中的步长后两种算法的曲线基本重合说明的精度很高编写四阶公式的计算程序对线性状态方程式进行020040060080010001200140016001800-25-20-15-10-505(3)利用 MATLAB 中的ode45()函数进行求解,比较与(1)中的仿真结果有何区别。Ode45调用的函数:function dh=daosh
7、u(t,x)u(1)=;%此处可以修改阀位 dh=zeros(2,1);u(2)=;A=2;ku=;alpha12=sqrt;alpha2 =sqrt;dh(1,1)=(ku*(u(1)+u(2)-alpha12*sqrt(x(1,1)/A;dh(2,1)=(alpha12*sqrt(x(1,1)-alpha2*sqrt(x(2,1)/A;end 在主程序中添加ode45的算法:机理分析建模方法深入理解一阶常微分方程组数值积分解法的原理和程序结构学习用编写数值积分法仿真程序掌握和理解四阶法加深理解仿真步长与算法稳定性的关系二实验内容编写四阶公式的计算程序对非线性模型式进行仿真将实际的研究仿真步
8、长对稳定性的影响仿真步长取多大时算法变得不稳定由可知当步长为时仿真结果是稳定的当步长为时的图像的数值稳定但是并不是实际求得的稳态值的值显然发散进一步取小步长取时图像出现偏差但是稳态值不变阀位在主程序中添加的算法将与编写的龙格库塔算法画到同一个坐标系中点表示可以发现更快达到稳定值实际上在缩小了编写算法中的步长后两种算法的曲线基本重合说明的精度很高编写四阶公式的计算程序对线性状态方程式进行T,Y=ode45(daoshu,0,1000,);figure(1)plot(T,Y)hold on plot(0:hStep:nCounter*hStep,Hlevel)grid 将ode45与编写的龙格库塔
9、算法画到同一个坐标系中(点表示ode45):010020030040050060070080090010001.11.151.21.251.31.351.41.451.5 可以发现,ode45更快达到稳定值,实际上,在缩小了编写算法中的步长后,两种算法的曲线基本重合,说明ode45的精度很高:机理分析建模方法深入理解一阶常微分方程组数值积分解法的原理和程序结构学习用编写数值积分法仿真程序掌握和理解四阶法加深理解仿真步长与算法稳定性的关系二实验内容编写四阶公式的计算程序对非线性模型式进行仿真将实际的研究仿真步长对稳定性的影响仿真步长取多大时算法变得不稳定由可知当步长为时仿真结果是稳定的当步长为时
10、的图像的数值稳定但是并不是实际求得的稳态值的值显然发散进一步取小步长取时图像出现偏差但是稳态值不变阀位在主程序中添加的算法将与编写的龙格库塔算法画到同一个坐标系中点表示可以发现更快达到稳定值实际上在缩小了编写算法中的步长后两种算法的曲线基本重合说明的精度很高编写四阶公式的计算程序对线性状态方程式进行010020030040050060070080090010001.11.151.21.251.31.351.41.451.5 2.编写四阶 Runge_Kutta 公式的计算程序,对线性状态方程(18)式进行 仿真(1)将阀位增大10和减小10,观察响应曲线的形状;增大10,令u(1)=机理分析建
11、模方法深入理解一阶常微分方程组数值积分解法的原理和程序结构学习用编写数值积分法仿真程序掌握和理解四阶法加深理解仿真步长与算法稳定性的关系二实验内容编写四阶公式的计算程序对非线性模型式进行仿真将实际的研究仿真步长对稳定性的影响仿真步长取多大时算法变得不稳定由可知当步长为时仿真结果是稳定的当步长为时的图像的数值稳定但是并不是实际求得的稳态值的值显然发散进一步取小步长取时图像出现偏差但是稳态值不变阀位在主程序中添加的算法将与编写的龙格库塔算法画到同一个坐标系中点表示可以发现更快达到稳定值实际上在缩小了编写算法中的步长后两种算法的曲线基本重合说明的精度很高编写四阶公式的计算程序对线性状态方程式进行05
12、01001502002501.351.41.451.51.551.61.651.7 令u(1)=0501001502002501.251.31.351.41.451.5(2)研究仿真步长对稳定性的影响,仿真步长取多大时RK4 算法变得不稳定 方法同上,大约在hstep=61 时就不稳定了 机理分析建模方法深入理解一阶常微分方程组数值积分解法的原理和程序结构学习用编写数值积分法仿真程序掌握和理解四阶法加深理解仿真步长与算法稳定性的关系二实验内容编写四阶公式的计算程序对非线性模型式进行仿真将实际的研究仿真步长对稳定性的影响仿真步长取多大时算法变得不稳定由可知当步长为时仿真结果是稳定的当步长为时的图
13、像的数值稳定但是并不是实际求得的稳态值的值显然发散进一步取小步长取时图像出现偏差但是稳态值不变阀位在主程序中添加的算法将与编写的龙格库塔算法画到同一个坐标系中点表示可以发现更快达到稳定值实际上在缩小了编写算法中的步长后两种算法的曲线基本重合说明的精度很高编写四阶公式的计算程序对线性状态方程式进行(3)阀位增大 10和减小 10,利用 MATLAB 中的 ode45()函数进行求解阶跃响 减小 10%(实线为编写算法,点为龙格库塔法):0501001502002501.251.31.351.41.451.5 增大 10%:0501001502002501.351.41.451.51.551.61
14、.651.7 程序实现:机理分析建模方法深入理解一阶常微分方程组数值积分解法的原理和程序结构学习用编写数值积分法仿真程序掌握和理解四阶法加深理解仿真步长与算法稳定性的关系二实验内容编写四阶公式的计算程序对非线性模型式进行仿真将实际的研究仿真步长对稳定性的影响仿真步长取多大时算法变得不稳定由可知当步长为时仿真结果是稳定的当步长为时的图像的数值稳定但是并不是实际求得的稳态值的值显然发散进一步取小步长取时图像出现偏差但是稳态值不变阀位在主程序中添加的算法将与编写的龙格库塔算法画到同一个坐标系中点表示可以发现更快达到稳定值实际上在缩小了编写算法中的步长后两种算法的曲线基本重合说明的精度很高编写四阶公式
15、的计算程序对线性状态方程式进行调用微分函数:function dh=dx(t,x)%DX 被ode45调用的微分方程函数 u=zeros(2,1);u(1)=;%此处可以修改阀位 u(2)=0;A=2;ku=;alpha12=sqrt;alpha2 =sqrt;R12=2*sqrt/alpha12;R2=2*sqrt/alpha2;AMTRIX=-1/(A*R12)0;1/(A*R12)-1/(A*R2);BMATRIX=ku/A 1/A;0 0;dh=AMTRIX*x+BMATRIX*u;end 主程序中添加:T,Y=ode45(dx,0,250,0,0);Y(:,1)=Y(:,1)+Y(:
16、,2)=Y(:,2)+figure(3)plot(T,Y,.)hold on plot(0:hStep:nCounter*hStep,Hlevel)grid 机理分析建模方法深入理解一阶常微分方程组数值积分解法的原理和程序结构学习用编写数值积分法仿真程序掌握和理解四阶法加深理解仿真步长与算法稳定性的关系二实验内容编写四阶公式的计算程序对非线性模型式进行仿真将实际的研究仿真步长对稳定性的影响仿真步长取多大时算法变得不稳定由可知当步长为时仿真结果是稳定的当步长为时的图像的数值稳定但是并不是实际求得的稳态值的值显然发散进一步取小步长取时图像出现偏差但是稳态值不变阀位在主程序中添加的算法将与编写的龙格
17、库塔算法画到同一个坐标系中点表示可以发现更快达到稳定值实际上在缩小了编写算法中的步长后两种算法的曲线基本重合说明的精度很高编写四阶公式的计算程序对线性状态方程式进行三 实验报告 实验完成后,要写出实验报告,内容包括:1实验步骤及说明;2实验所用的仿真程序清单,以及程序结构的简单说明;3实验结果曲线及分析,稳态值是多少;四 思考题 1 讨论仿真步长对稳定性和仿真精度的影响。一般来说,仿真步长越长,系统越倾向于不稳定,仿真步长越短,系统越稳定,但是需要的仿真时间越长。2 你是怎样实现阀位增大和减小 10%的对于非线性模型和线性模型方法一样吗 线性模型与非线性模型实际改变方式不一样。线性模型中,由于
18、采用的是增量化的方程,所以在修改时只需要修改增量,即或。非线性模型中,采用的绝对量的方程,所以在修改时应该修改绝对量,即改为或。五 实验总结 通过本次实验,熟悉了对 matlab 软件的使用,加深了对微分方程数值积分解法的理解,并通过编写程序进一步加深认识。通过对系统微分方程的列写,加深了对控制系统的认识,同时对非线性系统的线性化有了更深的了解(增量化方程)。机理分析建模方法深入理解一阶常微分方程组数值积分解法的原理和程序结构学习用编写数值积分法仿真程序掌握和理解四阶法加深理解仿真步长与算法稳定性的关系二实验内容编写四阶公式的计算程序对非线性模型式进行仿真将实际的研究仿真步长对稳定性的影响仿真步长取多大时算法变得不稳定由可知当步长为时仿真结果是稳定的当步长为时的图像的数值稳定但是并不是实际求得的稳态值的值显然发散进一步取小步长取时图像出现偏差但是稳态值不变阀位在主程序中添加的算法将与编写的龙格库塔算法画到同一个坐标系中点表示可以发现更快达到稳定值实际上在缩小了编写算法中的步长后两种算法的曲线基本重合说明的精度很高编写四阶公式的计算程序对线性状态方程式进行