XX理工大学计算机仿真实验.doc_第1页
XX理工大学计算机仿真实验.doc_第2页
XX理工大学计算机仿真实验.doc_第3页
XX理工大学计算机仿真实验.doc_第4页
XX理工大学计算机仿真实验.doc_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计 算 机 仿 真上 机 实 验 报 告姓名: 学号: 专业: 测控技术与仪器 班级: 121班 实验一常微分方程的求解及系统数学模型的转换一实验目的通过实验熟悉计算机仿真中常用到的Matlab指令的使用方法,掌握常微分方程求解指令和模型表示及转换指令,为进一步从事有关仿真设计和研究工作打下基础。二. 实验设备个人计算机,Matlab软件。三. 实验准备 预习本实验有关内容(如教材第2、3、5章中的相应指令说明和例题),编写本次仿真练习题的相应程序。四. 实验内容1. Matlab中常微分方程求解指令的使用题目一:请用MATLAB的ODE45算法分别求解下列二个方程。要求:1.编写出Matlab仿真程序;2.画出方程解的图形并对图形进行简要分析;3.分析下列二个方程的关系。1 21、 仿真程序function f1=f1(t,x)f1=-x2;t,x=ode45(f1,0,20,1);plot(t,x);gridfunction f2=f2(t,x)f2=x2;t,x=ode45(f2,0,20,-1);figure (2);plot(t,x);grid2.方程解的图形图形进行简要分析3.二个方程的关系两函数关于X轴对称题目二:下面方程组用在人口动力学中,可以表达为单一化的捕食者-被捕食者模式(例如,狐狸和兔子)。其中表示被捕食者, 表示捕食者。如果被捕食者有无限的食物,并且不会出现捕食者。于是有,则这个式子是以指数形式增长的。大量的被捕食者将会使捕食者的数量增长;同样,越来越少的捕食者会使被捕食者的数量增长。而且,人口数量也会增长。请分别调用ODE45、ODE23算法求解下面方程组。要求编写出Matlab仿真程序、画出方程组解的图形并对图形进行分析和比较。MATLAB仿真程序:function f3=f3(t,x)f3=x(1)-0.1*x(1)*x(2)+0.01*t;-x(2)+0.02*x(1)*x(2)+0.04*tt,x=ode45(f3,0,20,30;20);plot(t,x);grid方程组图形:2. Matlab中模型表示及模型转换指令的使用题目三:若给定系统的的传递函数为请用MATLAB编程求解其系统的极零点模型。MATLAB仿真程序:num=6 12 6 10;den=1 2 3 1 1;sys=zpk(num,den,k)程序运行结果:题目四:习题2.4的对角标准型MATLAB仿真程序:num=1 4 5;den=conv(1 0,1 5 6);sys=tf(num,den);canon(sys,modal)程序仿真结果:题目五:习题5.8 采样周期 Ts=0.02s 先在t=0.1s仿真MATLAB仿真程序:dnum=1,0 ;dden=1 -0.3 0.02;sys1=tf(dnum,dden,0.02)sys2=d2d(sys1,0.1)程序仿真结果:五总结与体会 通过此次试验,我更加熟悉和了解MATLAB软件,加深了编写MATLAB程序的能力,也认识了MATLAB中更多的使用工具,深化了各种模型之间的转换知识,也加深了对各种数学模型的表达的认知。熟悉了计算机仿真中常用到的Matlab指令的使用方法,掌握了常微分方程求解指令和模型表示及转换指令,为进一步从事有关仿真设计和研究工作打下了基础。实验二 Matlab优化工具箱的使用一实验目的通过上机操作熟悉Matlab优化工具箱的主要功能及其使用方法,掌握优化工具箱中常用函数的功能和语法,并利用其进行极值运算、求解线性和非线性问题等,为进一步的仿真设计和研究打下基础。二. 实验设备个人计算机,Matlab软件。三. 实验准备 预习本实验有关内容(如教材第6章中的相应指令说明和例题),编写本次仿真练习题的相应程序。四. 实验内容1. 应用Matlab优化工具箱求解优化问题例题6.66.10,选做2题,要求自行修改方程系数,并比较运行结果。例6.6 例如我们希望求解非线性方程:初始值为x0 = -5 -5MATTLAB仿真程序:function F = myfun(x)F = 2*x(1) - x(2) - exp(-x(1); -x(1) + 2*x(2) - exp(-x(2);x0 = -5; -5; options=optimset(Display,iter); x,fval = fsolve(myfun,x0,options) 修改方程参数后的非线性方程为 -x1+2x2=e-x1 2x1-x2=e-x2 初始值为x0=-5 -5MATLAB仿真程序:function F = myfun(x)F = -x(1) +2x(2) - exp(-x(1); 2x(1) -x(2) - exp(-x(2);x0 = -5; -5; options=optimset(Display,iter); x,fval = fsolve(myfun,x0,options) 程序仿真结果: 例6.7 利用Matlab语言求解下列线性规划问题MATLAB仿真程序:f=-2 -1 3 -5;A=1 2 4 -1; 2 3 -1 1; 1 0 1 1; -1 0 0 0; 0 -1 0 0; 0 0 -1 0; 0 0 0 -1;b=6 12 4 0 0 0 0;X=linprog(f,A,b)f*X 程序仿真结果:修改方程参数后的线性规划问题为min 3x1+5x2-2x3+x4s.t. -4x1-3x2-x3+4x4=4 3x1-2x2+x3-2x4=8 x1-2x2+3x3=0MATLAB仿真程序:f=3 5 -2 1;A=-4 -3 -1 4;3 -2 1 -2; 1 -2 3 0; -1 0 0 0; 0 -1 0 0; 0 0 -1 0; 0 0 0 -1;b=4 8 5 0 0 0 0;X=linprog(f,A,b)f*X程序仿真结果:2. 应用Matlab优化工具箱求解极值问题已知函数f(x)=10*exp(-x)*cos(x) ,求函数的极值。(1)x2,5时,求函数的最小值,并画出函数的曲线。(2)x3,9时,求函数的最大值,并画出函数的曲线。(1) MATLAB仿真程序:f=10*exp(-x)*cos(x);x,fmin=fminbnd(f,2,5),fplot(10*exp(-x)*cos(x),2 5)程序仿真结果:(1) MATLAB仿真程序:f=-10*exp(-x)*cos(x);x,f=fminbnd(f,3,9),fplot(10*exp(-x)*cos(x),3 9),fmax=-f程序仿真结果:五总结与体会 通过此次试验,进一步加深了我对MATLAB的了解,是我对MATLAB更加应用自如,在此次试验中,我学会了对各种数学模型的仿真和对图形的分析。熟悉了Matlab优化工具箱的主要功能及其使用方法,掌握了优化工具箱中常用函数的功能和语法。在实验中也遇到很多困难,我都会在help中去找解决方法,或者请教同学。实验三 利用Matlab和Simulink进行系统仿真设计一实验目的通过实验对一个汽车运动控制系统进行实际设计与仿真,掌握控制系统性能的分析和仿真处理过程,熟悉用Matlab和Simulink进行系统仿真的基本方法。二. 实验设备个人计算机,Matlab软件。三. 实验准备预习本实验相关说明,复习PID控制器的原理和作用,明确汽车运动控制系统问题的描述及其模型表示,编写本次仿真练习的相应程序。四. 实验说明本实验是对一个汽车运动控制系统进行实际设计与仿真,其方法是先对汽车运动控制系统进行建摸,然后对其进行PID控制器的设计,建立了汽车运动控制系统的模型后,可采用Matlab和Simulink对控制系统进行仿真设计。注意:设计系统的控制器之前要观察该系统的开环阶跃响应,采用阶跃响应函数step( )来实现,如果系统不能满足所要求达到的设计性能指标,需要加上合适的控制器。然后再按照仿真结果进行PID控制器参数的调整,使控制器能够满足系统设计所要求达到的性能指标。五. 实验内容1. 问题的描述如下图所示的汽车运动控制系统,设该系统中汽车车轮的转动惯量可以忽略不计,并且假定汽车受到的摩擦阻力大小与汽车的运动速度成正比,摩擦阻力的方向与汽车运动的方向相反,这样,该汽车运动控制系统可简化为一个简单的质量阻尼系统。根据牛顿运动定律,质量阻尼系统的动态数学模型可表示为:系统的参数设定为:汽车质量m=1000kg,比例系数b=50 Ns/m,汽车的驱动力u=500 N。根据控制系统的设计要求,当汽车的驱动力为500N时,汽车将在5秒内达到10m/s的最大速度。由于该系统为简单的运动控制系统,因此将系统设计成10的最大超调量和2的稳态误差。这样,该汽车运动控制系统的性能指标可以设定为:上升时间:tr5s;最大超调量:10;稳态误差:essp2。2.系统的模型表示假定系统的初始条件为零,则该系统的Laplace变换式为: 即 则该系统的传递函数为:如果用Matlab语言表示该系统的传递函数模型,相应的程序代码如下:num=1;den=1000 50;G=tf(num,den)同时,系统的数学模型也可写成如下的状态方程形式:如果用Matlab语言表示该系统状态空间模型,相应的程序代码如下:m=1000;b=50;u=500; num=1;den=m,b; sys=tf(num,den); a=(-b)/m;b=1/m;c=1;d=0; sys=ss(a,b,c,d); step(sys,0:0.1:200),grid on3. 系统的仿真设计 利用Matlab进行仿真设计I求系统的开环阶跃响应在Matlab命令窗口输入相应的程序代码,得出该系统的模型后,接着输入下面的指令:step(u*sys)可得到该系统的开环阶跃响应曲线,如下图所示:从图上可看出该系统不能满足系统设计所要求达到的性能指标,需要加上合适的控制器。IIPID控制器的设计PID控制器的传递函数为:在PID控制中,比例(P)、积分(I)、微分(D)这三种控制所起的作用是不同的(请注意在实验总结中进行归纳)。下面分别讨论其设计过程。(1)比例(P)控制器的设计增加比例控制器之后闭环系统的传递函数为:由于比例控制器可以改变系统的上升时间,现在假定Kp100,观察一下系统的阶跃响应。在MATLAB命令窗口输入指令:kp=100;m=1000;b=50;u=500;num=kp;den=m,b+kp; t=0:0.01:60; step(u*num,den,t),grid on可得系统阶跃响应如下:由此仿真结果,分析系统的稳态值是否满足设计要求,系统的稳态误差和上升时间能不能满足设计要求?答:不能满足要求若减小汽车的驱动力为10N,重新进行仿真,仿真结果为:kp=100;m=1000;b=50;u=10; num=kp;den=m,b+kp; step(u*num,den,0:0.01:60),grid on如果所设计的比例控制器仍不能满足系统的稳态误差和上升时间的设计要求,则可以通过提高控制器的比例增益系数来改善系统的输出。例如把比例增益系数Kp从100提高到10000重新计算该系统的阶跃响应,结果为:kp=10000;m=1000;b=50;u=10; num=kp;den=m,b+kp; step(u*num,den,0:0.01:1),grid on此时系统的稳态误差接近为零,系统上升时间也降到了0.5s以下。这样做虽然满足了系统性能要求,但实际上该控制过程在现实中难以实现。因此,引入比例积分(PI)控制器来对系统进行调节。(2)比例积分(PI)控制器的设计采用比例积分控制的系统闭环传递函数可表示为:增加积分环节的目的是减小系统的稳态误差,假设比例系数Kp=600,积分系数KI=1,编写相应的MATLAB程序代码如下:kp=600;ki=1;m=1000;b=50;u=10; num=kp ki;den=m,b+kp,ki; step(u*num,den,0:0.01:20),grid on运行上述程序后可得系统阶跃响应曲线为:可以调节控制器的比例和积分系数来满足系统的性能要求。例如选择比例系数KP800,积分系数KI =40时,可得系统阶跃响应曲线为:kp=800;ki=40;m=1000;b=50;u=10; num=kp ki;den=m,b+kp,ki; step(u*num,den,0:0.01:20),grid on可见,此时的控制系统已经能够满足系统要求达到的性能指标设计要求。但此控制器无微分项,而对于有些实际控制系统往往需要设计完整的PID控制器,以便同时满足系统的动态和稳态性能要求。(3)比例积分微分(PID)控制器的设计采用PID控制的系统闭环传递函数为:假设该控制器的比例系数KP=1,积分系数KI =1,微分系数KD=1,编写MATLAB程序代码如下:kp=1200;ki=50;kd=10;m=1000;b=50;u=10; num=kd kp ki;den=m+kd,b+kp,ki; step(u*num,den,0:0.01:10),grid on运行上述程序,并且调整PID控制器的控制参数,直到控制器满足系统设计的性能指标要求为止。最后,选择KP=1200,KI =50,KD=10,此时系统的阶跃响应曲线如下:从图中可以看出该系统能够满足设计的总体性能要求。 利用Simulink进行仿真设计I求系统的开环阶跃响应利用Simulink建立系统阶跃响应模型,如下图所示。双击Step模块,设置模块属性:跳变时间为0;初始值为0;终止值为10;采样时间为0。单击按钮开始仿真,双击Scope模块,可得系统阶跃响应曲线。分析此时系统的性能指标是否满足设计要求?若不能则应加上合适的控制器。答:此时系统性能指标仍不能满足设计要求IIPID控制器的设计在Simulink的模型窗口建立一个包含PID控制器的闭环系统阶跃响应模型,如图所示:当KP=300KI=1KD=1时系统的阶跃响应曲线为当Kp=500 Ki=20 Kd=10时 系统的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论