欢迎来到天天文库
浏览记录
ID:40501029
大小:602.10 KB
页数:18页
时间:2019-08-03
《数值方法常微分方程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第八章常微分方程数值解/*NumericalMethodsforOrdinaryDifferentialEquations*/y为人口数量,r为人口增长率,y0为时刻x0的人口数量。求常微分方程解析解的方法有多种多样,但是利用这些方法,我们只能对极少数特殊类型的常微分方程求解;科学研究和工程技术上的大量常微分方程的求解需借助于数值计算方法。比如,描述人口增长的著名人口模型:常微分方程是常用的数学模型。该方程有解析解y(x)=y0er(x-xo)。考虑一阶常微分方程的初值问题/*Initial-ValueProblem*
2、/:只要f(x,y)在[a,b]R1上连续,且关于y满足Lipschitz条件,即存在与x,y无关的常数L使对任意定义在[a,b]上的y1(x)和y2(x)都成立,则上述IVP存在唯一解。要计算出解函数y(x)在一系列节点a=x03、,有则有将上式中的函数值y(xi)都用近似值yi来表示,则有数值计算格式7.1Euler’sMethod例7.1求解初值问题取步长分别为h=0.1和h=0.05,进行计算,结果有解:该方程的解析解是y=(1+2x)1/2.欧拉格式是kxiy(xi)yi(h=0.1)yi(h=0.05)012345..0.00.10.20.30.40.5..1.01.10001.19181.27741.35821.4351..1.01.09771.18761.27131.35021.4174..1.01.09541.18321.264914、.34161.4142..定义在假设yi=y(xi),即第i步计算是精确的前提下,考虑的截断误差Ri=y(xi+1)yi+1称为局部截断误差/*localtruncationerror*/。定义若某算法的局部截断误差为O(hp+1),则称该算法有p阶精度。欧拉法的局部截断误差:欧拉法具有1阶精度。Ri的主项/*leadingterm*/局部截断误差:7.1Euler’sMethod欧拉公式的改进:隐式欧拉法/*implicitEulermethod*/向后差商近似导数xixi+1y(xi+1)≈yi+hf(xi5、+1,y(xi+1)))1,...,0(),(111-=+=+++niyxfhyyiiii由于未知数yi+1同时出现在等式的两边,不能直接得到,故称为隐式/*implicit*/欧拉公式,而前者称为显式/*explicit*/欧拉公式。隐式欧拉法的局部截断误差:即隐式欧拉公式具有1阶精度。7.1Euler’sMethod梯形公式/*trapezoidformula*/—显、隐式两种算法的平均注:的确有局部截断误差,即梯形公式具有2阶精度,比欧拉方法有了进步。但注意到该公式是隐式公式,不便于实际计算。)1,...,0(6、),(111-=+=+++niyxfhyyiiii7.1Euler’sMethod改进欧拉法/*modifiedEuler’smethod*/Step1:先用显式欧拉公式作预测,算出),(1iiiiyxfhyy+=+Step2:再将代入隐式梯形公式的右边作校正,得到1+iy)],(),([2111+++++=iiiiiiyxfyxfhyy7.1Euler’sMethod或者例7.2求解初值问题取步长分别为h=0.1和h=0.05,进行计算,结果有解:该方程的解析解是y=(1+2x)1/2.改进欧拉格式是kxiy(xi)7、yi(h=0.1)yi(h=0.05)012345..0.00.10.20.30.40.5..1.01.09591.18411.26621.34321.4164..1.01.09561.18351.26531.34211.4148..1.01.09541.18321.26491.34161.4142..7.1Euler’sMethod§2龙格-库塔法/*Runge-KuttaMethod*/建立高精度的单步递推格式。xnxn+1xn+θhK*考察欧拉公式K*≈K1=f(xi,yi)改进欧拉公式K*≈(K1+K2)/2斜率8、一定取K1K2的平均值吗?步长一定是一个h吗?这里 称为函数y(x)在区间[xn,xn+1]上的平均斜率.几何意义是y(x)在区间[xn,xn+1]上点xn+θh处的斜率.根据微分中值定理,存在0<θ<1§2Runge-KuttaMethod首先希望能确定系数1、2、p,使得到的算法格式有2阶精
3、,有则有将上式中的函数值y(xi)都用近似值yi来表示,则有数值计算格式7.1Euler’sMethod例7.1求解初值问题取步长分别为h=0.1和h=0.05,进行计算,结果有解:该方程的解析解是y=(1+2x)1/2.欧拉格式是kxiy(xi)yi(h=0.1)yi(h=0.05)012345..0.00.10.20.30.40.5..1.01.10001.19181.27741.35821.4351..1.01.09771.18761.27131.35021.4174..1.01.09541.18321.26491
4、.34161.4142..定义在假设yi=y(xi),即第i步计算是精确的前提下,考虑的截断误差Ri=y(xi+1)yi+1称为局部截断误差/*localtruncationerror*/。定义若某算法的局部截断误差为O(hp+1),则称该算法有p阶精度。欧拉法的局部截断误差:欧拉法具有1阶精度。Ri的主项/*leadingterm*/局部截断误差:7.1Euler’sMethod欧拉公式的改进:隐式欧拉法/*implicitEulermethod*/向后差商近似导数xixi+1y(xi+1)≈yi+hf(xi
5、+1,y(xi+1)))1,...,0(),(111-=+=+++niyxfhyyiiii由于未知数yi+1同时出现在等式的两边,不能直接得到,故称为隐式/*implicit*/欧拉公式,而前者称为显式/*explicit*/欧拉公式。隐式欧拉法的局部截断误差:即隐式欧拉公式具有1阶精度。7.1Euler’sMethod梯形公式/*trapezoidformula*/—显、隐式两种算法的平均注:的确有局部截断误差,即梯形公式具有2阶精度,比欧拉方法有了进步。但注意到该公式是隐式公式,不便于实际计算。)1,...,0(
6、),(111-=+=+++niyxfhyyiiii7.1Euler’sMethod改进欧拉法/*modifiedEuler’smethod*/Step1:先用显式欧拉公式作预测,算出),(1iiiiyxfhyy+=+Step2:再将代入隐式梯形公式的右边作校正,得到1+iy)],(),([2111+++++=iiiiiiyxfyxfhyy7.1Euler’sMethod或者例7.2求解初值问题取步长分别为h=0.1和h=0.05,进行计算,结果有解:该方程的解析解是y=(1+2x)1/2.改进欧拉格式是kxiy(xi)
7、yi(h=0.1)yi(h=0.05)012345..0.00.10.20.30.40.5..1.01.09591.18411.26621.34321.4164..1.01.09561.18351.26531.34211.4148..1.01.09541.18321.26491.34161.4142..7.1Euler’sMethod§2龙格-库塔法/*Runge-KuttaMethod*/建立高精度的单步递推格式。xnxn+1xn+θhK*考察欧拉公式K*≈K1=f(xi,yi)改进欧拉公式K*≈(K1+K2)/2斜率
8、一定取K1K2的平均值吗?步长一定是一个h吗?这里 称为函数y(x)在区间[xn,xn+1]上的平均斜率.几何意义是y(x)在区间[xn,xn+1]上点xn+θh处的斜率.根据微分中值定理,存在0<θ<1§2Runge-KuttaMethod首先希望能确定系数1、2、p,使得到的算法格式有2阶精
此文档下载收益归作者所有