




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机仿真技术,济南大学控制科学与工程学院,授课教师:李实,cse_lis1教1007室,2,5.3常微分方程建模仿真,5.3.1ODE解函数5.3.2常微分方程仿真举例,3,5.3.1ODE解函数,求解非刚性问题的ODEsolver:,ode45:基于显式龙格-库塔法4-5阶公式,为一步法,一般情况下,在大多数非刚性问题求解中首先采用ode45作为求解办法。ode23:基于显式龙格-库塔法2-3阶公式,比ode45低阶,在精度要求不高或涉及到部分刚性问题时,比ode45运算更快速。ode113:使用Adams-Bashforth-Moulton,即线性多步法。需要精度较高时,比ode45运算速度快,但属于多步法,需要多个之前时间数值。,求解刚性问题的ODEsolver:,ode15s:使用Gear方法,也叫向后微分公式,为多步法,如果已知系统为刚性问题或ode45无法解决问题,可优先采用ode15s。ode23s:基于改进Rosenbrock法,一步法,当精度要求不高时,比ode15s运算更快。当ode15s无法解决问题,可采用ode23s。ode23tode23tb,4,ODE求解语法:,t,y=solver(odefun,tspan,y0,options)odefun:要运行的微分方程系统,一般可由函数定义:dydt=odefun(t,y),t和y为函数的输入量,分别代表时间和系统变量,dy则表示对变量的微分值。tspan:时间向量,表示微分方程求解的时间轴y0:变量的初始值options:微分方程求解参数,如精度,算法等要求,一般可不修改,直接采用默认值。输出项为t,y,为得到的微分方程时间变量与状态变量,可用于结果输出与绘图。,t,y=solver(odefun,tspan,y0,yp0,options)当函数中需要引用一些参数或输入时,可定义为yp0,相应的,微分方程系统函数也要引用:dydt=odefun(t,y,yp0),5,5.3.2常微分方程仿真举例,【例5.10】vanderPolEquation(Non-stiff非刚性):变量在t=0点的初始值为:y1=2,y2=0,参数=1用MATLAB仿真该系统,时间为0到20,首先,写出该系统函数,保存在M-file文件中:,functiondydt=vdp1(t,y)dydt1=y(2);dydt2=(1-y(1)2)*y(2)-y(1);dydt=dydt1;dydt2;%写成列向量,6,主程序,用ode45算法求解:,tspan=020;%仿真时间,行向量y0=2;0;%初始值,列向量t,y=ode45(vdp1,tspan,y0)%得到时间t与变量y,这里,options为默认值,画图表示模拟结果:,%分别画出y1与y2随时间变化的动态曲线,注意t与y的行数或列数要相同plot(t,y(:,1),-,t,y(:,2),-)title(SolutionofvanderPolEquation,mu=1);xlabel(timet);ylabel(solutiony);legend(y_1,y_2);%在图上表示y1与y2标志,7,8,【例5.11】vanderPolEquation(stiff刚性):刚性方程中,存在着系统变量在很短时间内变化很大的现象,使用非刚性系统的算法无法解决或运算时间过长,这时,采用刚性系统的算法。参数由1增加到1000,主程序:用ode45算法求解,tspan=03000;y0=2;0;tict,y=ode45(vdp1000,tspan,y0);toc,functiondydt=vdp1000(t,y)dydt1=y(2);dydt2=1000*(1-y(1)2)*y(2)-y(1);dydt=dydt1;dydt2;,函数程序:,9,用ode15s算法求解:,tict,y=ode15s(vdp1000,tspan,y0)tocplot(t,y(:,1)title(SolutionofvanderPolEquation,mu=1000);xlabel(timet);ylabel(solutiony_1);,10,【例5.12】vanderPolEquation:参数定义为系统的输入量,functiondydt=vdp_mu(t,y,mu)dydt1=y(2);dydt2=mu*(1-y(1)2)*y(2)-y(1);dydt=dydt1;dydt2;,tspan=03000;y0=2;0;mu=100;options=;%参数选择为默认t,y=ode15s(vdp,tspan,y0,mu);plot(t,y(:,1)title(SolutionofvanderPolEquation,mu=100);xlabel(timet);ylabel(solutiony);,函数程序:,主程序:,11,【例5.13】给出如下微分方程模型,=10,=5,用MATLAB模拟该方程,初始值为02,模拟时间t=020,functiondx=nl(t,x)dx1=x(2);dx2=-10*sin(x(1)-5*x(2);dx=dx1;dx2;,tspan=020;x0=0;2;t,x=ode45(nl,tspan,x0);plot(t,x(:,1),-,t,x(:,2),-)title(SolutionofODEsystem);xlabel(timet);ylabel(solutionx);legend(x_1,x_2);,函数程序:,主程序:,12,5.4Simulink仿真,Simulink模块库建立一个简单模型:信号源、传递函数模型、示波器图形输出,进行连线模块命名、颜色设定、旋转设置仿真参数:solve页面,选择仿真时间,选择算法,设定算法的参数。设置workspace,13,例5.7如下闭环系统在不同K值的阶跃
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 气管切开吸痰试题及答案
- 休克医学考试题及答案
- 国际商业美术设计师学术成果试题及答案
- 哈尔滨模考试题及答案
- 环境可靠性试题及答案
- 教师心理健康试题及答案
- 如何通过实战提升国际商业美术设计师考试成绩与试题及答案
- 掌握助理广告师考试核心内容试题及答案
- 审计知识测试题及答案
- 监委面试题目及答案
- 2025年北京市西城区高三二模语文试卷(含答案)
- 玉石代理销售合同协议
- (二模)2025年汕头市高三普通高考第二次模拟考试英语试卷(含答案)
- 山东2025年山东省公共卫生临床中心招聘博士人才60笔试历年参考题库附带答案详解
- 2024年台州市委统战部下属事业单位选聘笔试真题
- 山西太原事业单位考试《行测》模拟题带答案2024年
- 2025年中考英语第一次模拟考试(苏州卷)(原卷版)
- 湖北省武汉市2025届高中毕业生四月调研考试地理试题及答案(武汉四调)
- 海南琼海市旅游健康文化发展有限公司招聘笔试题库2025
- 2025-2030中国具身智能行业研发创新策略与未来前景展望研究报告
- 2025年二建《建筑工程管理与实务》考前必刷必练题库500题(含真题、重点题)
评论
0/150
提交评论