计算机仿真总述MATLAB应用举例ppt课件

上传人:re****.1 文档编号:568638314 上传时间:2024-07-25 格式:PPT 页数:129 大小:1.30MB
返回 下载 相关 举报
计算机仿真总述MATLAB应用举例ppt课件_第1页
第1页 / 共129页
计算机仿真总述MATLAB应用举例ppt课件_第2页
第2页 / 共129页
计算机仿真总述MATLAB应用举例ppt课件_第3页
第3页 / 共129页
计算机仿真总述MATLAB应用举例ppt课件_第4页
第4页 / 共129页
计算机仿真总述MATLAB应用举例ppt课件_第5页
第5页 / 共129页
点击查看更多>>
资源描述

《计算机仿真总述MATLAB应用举例ppt课件》由会员分享,可在线阅读,更多相关《计算机仿真总述MATLAB应用举例ppt课件(129页珍藏版)》请在金锄头文库上搜索。

1、一 仿真技术的概念、分类与应用1概念l早期研究和设计一个动态系统时,往往凭借设计者的知识和经验,用真实的元器件构成一个真实的系统。在此系统上进行大量的实验研究,分析系统结构参数对系统动态性能的影响,结构尺寸的改变,实物也需更换。通过反复实验,不断修改,确定应用于生产实际的系统 称为实物实验研究法l随着科学技术的发展,自动控制理论的不断完善,人们开始利用这些理论,在建立真实系统之前,先建立描述系统动态过程的数学模型,在此模型的基础上分析所设定控制方案的可行性、结构参数的合理性,并将分析结果作为系统设计的依据理论分析法l与实物分析法相比:大大降低成本节省大量时间l缺点:由于理论的局限性,理论分析结

2、果与实际相差较大有时需根据相似理论建立实验模型进行中间实验,以便提供可靠的依据l由于科学技术的迅速发展和经济建设的需要,对系统的动态性能要求越来越高,出现了许多新的控制理论,如复合控制、最优控制、鲁棒控制、模糊控制、自适应控制等新的控制方法,这些新的控制方法使系统变得更复杂,如若仍采用人工进行分析和建立数学模型,就更加困难,需花费大量的精力和巨大的代价,甚至不可能实现。l随着计算机技术的发展,利用计算机作为研究的工具,进行实际物理系统的动态研究、研究实际系统的各种工作状态、确定最佳控制方案、选择理想的系统参数等研究方法逐渐成熟称为计算机分析法,通常称为“仿真”2 定义l利用计算机作为研究工具,

3、将实际系统转化成“模型”,在计算机上运转的过程称为仿真(Simulation)l用于对系统进行仿真的一整套软硬件称为仿真系统l研究可在计算机上运行的“模型”建立和实验方法称为仿真技术3 分类按对象分:l已建实际元件或系统的仿真l新研制元件或系统的仿真按所用模型的类型(物理模型,数学模型,物理数学模型)分类:l物理仿真l计算机仿真(或称数字仿真)l半实物仿真 按对象的性质分:l宇宙飞船仿真l化工系统仿真l制造系统仿真l社会/经济系统仿真l武器控制系统仿真l按系统模型分:l连续系统仿真:系统模型中的状态变量的连续变化的,一般可表示为微分方程的形式l离散系统仿真:系统模型中的状态变量只在模型某些离散

4、时刻由于某种事件而发生变化变化,一般不能表示为方程式的形式,而只能用一组逻辑条件或流程图来表示按仿真时所用计算机种类的不同:模拟仿真数字仿真混合仿真4 应用系统仿真是一项应用技术,在科学研究和工程设计中应用领域不同,有各自的特殊问题,但也有许多共性:如何将一个待解决的问题变成一个系统仿真问题如何根据人们对实际系统的了解来建立系统的仿真模型如何验证模型的有效性如何根据研究的需要来设计仿真实验如何将仿真模型变成计算机上可执行的程序如何确认程序的正确性如何利用计算机进行规定的仿真实验(包括采用什么算法,实验结果是否可信等)如何对仿真实验结果进行分析如何根据结果分析来修改模型机械应用领域l机械零件设计

5、l动力学与振动:轨迹、单自由度系统、 多自由度系统、细梁的振动l控制系统:传递函数、系统响应l流体力学:流体静力学、内部粘性流动、 外部流动l热传导:导热、对流传热、辐射传热l流体传动:液压系统、液力系统、气压系统lA 在液压领域中的应用 1. 对已有的液压元件或液压系统在数学模型建立的基础上,进行仿真研究,目的是将仿真结果与实验结果进行比较,验证理论的准确程度,并不断通过修改数学模型和改变仿真参数,使仿真更接近于实物实验结果,得到的数学模型作为今后改进和设计类似元件或系统的理论依据2. 对于已经设计好的系统,通过仿真实验,确定调整参数,仿真结果作为系统调试的理论依据,从而缩短调试周期和避免损

6、坏设备3. 对于新设计的元件,可通过仿真研究元件各部分参数对其动态特性的影响,从而确定满足性能要求的结构参数,为设计该元件提供所需的数据4.对于新设计的系统,通过仿真验证系统控制方案的可行性,研究系统结构参数对动态性能的影响,由此获得最佳的控制方案和最优的系统结构参数B 在机械零件设计中的应用l向量、受力和刚体平衡l梁、压杆、轴的应力和偏差l齿轮的应力l四连杆机构l凸轮轮廓l滑动轴承l应力场分析l5 MATLAB在机械工程中的应用举例(一)机械零件设计向量、受力和刚体平衡梁、压杆、轴的应力和偏差齿轮的应力四连杆机构凸轮轮廓滑动轴承应力场分析(二)动力学与振动:轨迹单自由度系统多自由度系统细梁的

7、振动(三)机械优化l线性优化l非线性优化l单目标约束优化l多目标优化l(四)控制系统 传递函数 系统响应(五)流体力学 流体静力学 内部粘性流动 外部流动(六)热传导 导热对流传热辐射传热(七)流体传动液压系统液力系统气压系统(八)工程统计l概率分布l置信区间l线性回归l实验设计l6 MATLAB应用实例例1:MATLAB图标的绘制程序:%tb.mload logosurf(L,R),colormap(M),n=length(L(:,1);axis off,axis(1 n 1 n -.2 .8),view(-37.5,30)title(MATLAB 6.X的图标)例2: 矩阵运算 程序:la

8、=1 2 3 4 5;l 2 3 4 5 6;l 3 4 5 6 7;l 4 5 6 7 8;l 5 6 7 8 9 lb=1 1 1 1 1;l 2 2 2 2 2;l 3 3 3 3 3;l 4 4 4 4 4;l 5 5 5 5 5lc=a*bld=a.*ble=b.2lf=a./b结果:lc =l 55 55 55 55 55l 70 70 70 70 70l 85 85 85 85 85l 100 100 100 100 100l 115 115 115 115 115ld =l 1 2 3 4 5l 4 6 8 10 12l 9 12 15 18 21l 16 20 24 28 3

9、2l 25 30 35 40 45le =l 1 1 1 1 1l 4 4 4 4 4l 9 9 9 9 9l 16 16 16 16 16l 25 25 25 25 25lf =l 1.0000 2.0000 3.0000 4.0000 5.0000l 1.0000 1.5000 2.0000 2.5000 3.0000l 1.0000 1.3333 1.6667 2.0000 2.3333l 1.0000 1.2500 1.5000 1.7500 2.0000l 1.0000 1.2000 1.4000 1.6000 1.8000例3:阀特性QP特性曲线的仿真QP特性曲线流量系数Cd对P-

10、Q曲线的影响例4:实验数据的处理 曲线拟合与插值 样条曲线在工程实践与科学应用中有着广泛的,如试验、统计数据如何用曲线表示,设计、分析、优化的结果如何用曲线表示等。几乎各个领域都要用到样条曲线来对数据进行处理。(样条工具箱)X0123456789Y01.24.35.29.812.416.821.225.528.4曲线拟合 l% = Program aaa3.m =l% - Curve fitting -ldisp(Input Data-x; Output Data-y:)lx=0,1,2,3,4,5,6,7,8,9ly=0,1.2,4.3,5.2,9.8,12.4,16.8,21.2,25.5

11、,28.4lpauselplot(x,y,or)lhold onlgridlpauselpf1=polyfit(x,y,1)lpx1=polyval(pf1,x)lplot(x,px1,g)lpauselpf2=polyfit(x,y,2)lpx2=polyval(pf2,x)lplot(x,px2,b)曲线插值X012345678Y00.91.61.00.1-0.3-0.7-0.9-0.2l%=数表插值aaa4.m=ly=0 0.9 1.6 1 0.1 -0.3 -0.7 -0.9 -0.2 lx=0:length(y)-1; % x等距lx1=0:0.1:length(y)-1; % 每两

12、相邻点间插入9点ly1=interp1(x,y,x1,spline);lplot(x,y,+r,x1,y1,b)曲线插值 例5:在机构设计中的应用l程序l%四连杆FourBarPosition.m wzsdjsd.m四连杆机构的位置四连杆机构的速度四连杆机构的角加速度例6:装载机工作装置运动仿真 例7:系统特性 液压节流调速系统动态特性仿真液压节流调速系统动态特性仿真 例8:方程组求解l初始值x0=-5 5l%程序myfun88.mlfunction f=myfun88(x)lf=2*x(1)-x(2)-exp(x(1);l-x(1)+2*x(2)-exp(-x(2);l%程序fxxfc.ml

13、x0=-5;-5;lx,F=fsolve(myfun88,x0) 例9: 数值积分x=0:0.1:10plot(x , x.2)l程序:只需一条语句area=quad(x.2,4,7) l结果:larea = 93l验算:例10:微分方程的数值解法例:解经典范得波(Van der Pol)微分方程令:=2 lt,y=ode23(myfun5,0 30,1;0,3);ly0=1;0ly1=y(:,1);ly2=y(:,2);lplot(t,y1,:b,t,y2,-r)llegend(速度,位移)lfunction yp=myfun5(t,y);l yp=y(2) 2*(1-y(1)2)*y(2)

14、-y(1);l偏微分方程数值解法工具箱可应用于弹性力学、静电学、电磁学、热传导和发散等许多领域。例11:优化设计问题1l某车间有甲乙两台机床,可用于加工三种工件,这两台机床的可用台时数分别为700和800,三种工件的数量分别为300、500和400,已知机床加工情况如下表:l问如何分配机床的加工任务,才能既满足加工工件的要求,又使总加工费用最低?l解:设在甲机床上加工工件1、2和3的数量分别是x1、 x2和x3,在乙机床上加工工件1、2和3的数量分别是x4、 x5和x6,根据条件可建立数学模型:程序:f=13;9;10;11;12;8;A=0.4 1.1 1 0 0 0 0 0 0 0.5 1

15、.2 1.3;b=700;800;aeq=1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1;beq=300 500 400;lb=zeros(6,1);x,fval,exitflag,output,lambda=linprog(f,A,b,aeq,beq,lb)运行结果:x = 0.0000 500.0000 0.0000 300.0000 0.0000 400.0000fval = 1.1000e+004exitflag = 1即:在甲机床上加工500个工件2,在乙机床上加工300个工件1,加工400个工件3,可在满足条件情况下使总加工费用最小,为11000元。且收敛正

16、常。问题2l求: 在区间2 5间的最小值 在区间0 3间的最大值程序:l%y5.mlx=0:0.1:8;ly=2*exp(-x).*sin(x);lplot(x,y)lfn=2*exp(-x)*sin(x);lxmin,fmin=fminbnd(fn,2,5)lfm=-2*exp(-x)*sin(x);lxmax,fmax=fminbnd(fm,0,3)结果:lxmin = 3.9270lfmin = -0.0279lxmax = 0.7854lfmax = -0.6448例12:二维图形处理Demo/Graphics/2-D plots例13: 三维图形lDemo/Graphics/3-D

17、plotslDemo/Graphics/3-D surface plots例14:控制系统l传递函数l时间域命令l频率域命令lMATLAB模型空间lSIMULINK仿真软件简介一、 传递函数常用命令1、 传递函数显示命令 printsys(num,den)例如程序: ng=1 1; dg=1 3 2 0; printsys(ng,dg)运行结果:num/den = s + 1 - s3 + 3 s2 + 2 s2、求传递函数极点和零点 1). 用roots命令,分别求分子和分母多项式的根 2). 用tf2zp命令 3). 用pzmap命令 p,z=pzmap(num,den) pzmap(nu

18、m,den) 直接绘制系统零极点图例程序:num=1 1;den=1 3 2 0;z,p,k=tf2zp(num,den)pzmap(num,den) 运行结果:z = -1p = 0 -2 -1k = 1 3、传递函数变换命令1)串联nums,dens=series(num1,den1,num2,den2) 2)并联nump,denp=parallel(num1,den1,num2,den2)3)反馈numf,denf=feedback(num1,den1,num2,den2,sign) sign=-1 负反馈 sign=1 正反馈 4)单位反馈numc,denc=cloop(num,den

19、,sign) sign=-1 单位负反馈 sign=1 单位正反馈 二、 时间域命令1、阶跃响应 y=step(num,den,t)例1:求传递函数的阶跃响应 ksys1.m 并计算控制系统特征值: 超调量pos(%), 上升时间Tr, 过渡过程时间Ts, 峰值时间Ts(2%)程序:num=10;den=1,2,10;t=0:0.1:10;y=step(num,den,t);plot(t,y)grid onpos,tr,ts2,tp=stepchar(t,y)运行结果:pos = 34.6882tr = 0.4000ts2 = 3.5000tp = 1例2:二阶系统一簇阶跃响应=0.11 ks

20、ys2.ma=1 2 4;b=1.25 2 29;y=zeros(100,3);t=linspace(0,10,100);for j=1:3 num=b(j); den=1 a(j) b(j); y(:,j)=step(num,den,t);endgrid onplot(t,y(:,1)gtext(one)%pausehold onplot(t,y(:,2),r)gtext(two)%pausehold onplot(t,y(:,3),g)gtext(three)结果:例3:求一个二阶系统对应三个不同参数的阶跃 响应G(s)=b/(S2+aS+b) a=1,2,4 b=1.25,2,29 on

21、e two three a=1 a=2 a=4 b=1.25 b=2 b=29 ksys3.m运行结果:2、脉冲响应、一般输入响应和斜坡响应、随机噪声响应 例4:计算脉冲响应 ksys5.m例5:计算斜坡输入响应ksys6.m例7:计算随机噪声响应 ksys7.m三、 频率域命令1、伯德图 1)bode(num,den) 直接画出图形 2) mag,phase,w=bode(num,den) 3) mag,phase=bode(num,den,w) 后两种格式,配合绘图命令: subplot(211),semilogx(w,20*log10(mag) subplot(212),semilogx

22、(w,phase)2、奈魁斯特图 1)nyqnist(num,den,w) 直接画出图形 2)re,im=nyqnise(num,den,w) 3)mag,phase=nichols(num,den,w) 4)求相对稳定性参数(增益裕量与相角裕量) a) gm,pm,wpc,wgc=margin(mag,phase,w) b) margin(mag,phase,w) 自动生成带有裕量标记 的伯德图四、根轨迹命令 rlocus(num,den) k自动给定 rlocus(num,den,k) k为增益例8:分析下面的系统 1. 求系统开环频率响应分析 ksys10.m 2. 求带单位圆的奈魁斯特

23、图 ksys11.m 3. 求闭环系统的伯德图 ksys12.m 4. 求5个不同增益的闭环系统传递函数及 5个系统阶跃响应分析 ksys13.m1. 求系统开环频率响应分析 ksys10.m 2. 求带单位圆的奈魁斯特(nyquist)图 ksys11.m尼柯尔斯(Nichols)图: 3. 求闭环系统的伯德图 ksys12.m根轨迹图: 4. 求5个不同增益的闭环系统传递函数及 5个系统阶跃响应分析 ksys13.m7 SIMULINK简介一、创建仿真模型的步骤: 1. 进入simulink窗口 1) simulink命令 2) File/new/Model 2. 打开Library Br

24、owser(模块库)窗口 Continuous 连续 Functions&Tables 函数和表格 Math 数学 Signals&System 信号和系统 Sinks 显示 Sources 源例9 将摄氏温度转变为华氏温度 Sim2.mdl 1. 确定建模所需模块 模块 功能 来源 一个Gain模块,定义增益9/5 Math 库一个Constant模块,定义常数32 Sources库一个Sum模块,定义求和 Math 库一个Ramp模块,输入信号 Sources库一个Scope模块,显示输出 Sinks 库 2. 将上述模块复制到用户模型空间 并连接起来 3. 参数的确定 双击各个模块,修改

25、参数 Ramp:slpoe=1 start time=0 Initial output=0 Gain: 输入9/5 OK Constant: 输入32 OK4. 仿真参数设置 Simulation / simulation parameters Start time: 0.0 Stop time: 10.0 Max step size: 0.1 OK 5. 开始仿真 6. 双击Scope查看结果 7. 点击Auto Scale(望远镜图标)仿真结果:例10:求传递度函数的阶跃响应 Sim1.mdl1. 确定建模所需模块 模块 功能 来源 一个Step模块,输入阶跃信号 Sources库一个Tr

26、ansfer Fcn 模块,传递函数 Continous库一个Scope模块,显示输出 Sinks 库 2. 将上述模块复制到用户模型空间 并连接起来 3. 参数的确定 双击各个模块,修改参数 Step: Step time: 1 Initial Value: 0 Final Value: 1 Sample time : 0 Transfer Fcn : Numerator: 10 Denominator: 1 2 104. 仿真参数设置 Simulation / simulation parameters Start time: 0.0 Stop time: 10.0 OK 5. 开始仿真 6. 双击Scope查看结果 7. 点击Auto Scale(望远镜图标) 仿真结果:例11:闭环控制系统sim3.mdl仿真结果:

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号