欢迎来到天天文库
浏览记录
ID:40225398
大小:404.00 KB
页数:23页
时间:2019-07-27
《微分方程数值解法new》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、常微分方程数值解1.两个最常用的数值解法:欧拉(Euler)方法龙格-库塔(Runge-Kutta)方法主要内容2.龙格-库塔方法的MATLAB实现区分已感染者(病人)和未感染者(健康人)SI模型传染病模型Logistic模型传染病有免疫性——病人治愈后即移出感染系统,称移出者SIR模型传染病模型无法求出的解析解相平面分析方法(PhasePlaneAnalysis)时间t的相(像)的轨迹称为相轨线相平面分析是在相平面上分析相轨线随时间变化的变化情况,是一种定性分析的方法。它也是应用中非常重要的一种分析方法。“常微分方程初值问题数值解”的提法,而在一系列
2、离散点不求解析解通常取等步长hy1y2yn欧拉方法基本思路P1P2P3各种欧拉公式yP0x0x1x2x3xy=y(x)y0取不同的点向前欧拉公式x取左端点xn近似:yny(xn),yn+1y(xn+1)误差分析局部截断误差主项为假设到第n步公式右端yn没有误差,即yn=y(xn),从xn到xn+1一步的计算值yn+1与精确值y(xn+1)之差,称为局部截断误差.向前欧拉公式具有1阶精度欧拉方法向后欧拉公式P1P2P3隐式公式,迭代求解x取右端点xn+1,右端yn+1未知yP0x0x1x2x3xy0y=y(x)向后欧拉公式的误差向后欧拉公式局部误差主项
3、Bxnxn+1xyPnAQ向前欧拉公式局部误差主项~QB~QA向前、向后欧拉公式的右端平均,则两个误差主项刚好抵消梯形公式向后欧拉公式具有1阶精度梯形公式具有2阶精度局部截断误差主项隐式公式迭代求解梯形公式向前欧拉公式向后欧拉公式可表示为欧拉公式都可以推广到解常微分方程组、高阶微分方程将梯形公式的迭代过程简化为两步改进的欧拉公式预测校正2阶龙格—库塔公式具有2阶精度龙格-库塔方法基本思想微分中值定理即向前欧拉公式改进的欧拉公式的平均值龙格-库塔方法4阶龙格—库塔公式4阶龙格—库塔公式具有4阶精度龙格—库塔公式也可以推广到解常微分方程组、高阶微分方程高阶微
4、分方程的求解令MATLAB中的龙格—库塔方法f为待解方程写成的m文件名(方程组应以x的向量形式写成)用MATLAB解常微分方程-实例1SIsymstya;y=dsolve(['Dy-a*y*(1-y)=0'])符号计算log_sym.mts=0:0.5:400;x0=[0.01,0];[t,x]=ode45('logi_fun',ts,x0);plot(t,x(:,1),'r-')xlabel('time')ylabel('therateofillness')functiony=logi_fun(t,x)lambda=0.02;y=[lambda*x(1
5、)*(1-x(1)),x(2)]';用MATLAB解常微分方程-实例1SI数值方法求解logi_fun.m用MATLAB解常微分方程-实例2SIRts=0:0.5:600;x0=[0.02,0.98];%%%%%solvetheinitialproblem[t,x1]=ode45('ill_fun',ts,x0);plot(x1(:,2),x1(:,1),'r-‘)xlabel('thepercentageofsusceptible')ylabel('thepercentageofillpeople')title('graphicofmodifiedSI
6、Rmodel')phase.m课堂练习取几个不同的初始值
此文档下载收益归作者所有