四阶龙格库塔法的基本思想_利用龙格库塔法求解质点运动方程

41528d3028836879cd698677c3999917.gif利用龙格库塔法求解质点运动方程

利用龙格 -库塔法求解质点运动常微分方程1、 待解问题讨论常微分方程的初值问题,边值问题的数值解法,最常用的基本方法就是龙格-库塔法使一些物理方程的计算简便,所得结果的精确提高。下面是利用龙格-库塔法求解一个质点运动的常微分方程以初速 自地球表面(半径 )竖直向上发射一质量skmv/80kmR60为 m 的火箭,如图所示。若不计空气阻力,火箭所受引力 F 大小与它到地心距离的平方成反比,求火箭所能到达的最大高度 H。火箭为我们分析的对象,对其做受力分析,火箭在任意位置 x 处仅受地球引力 F 作用。由题意知,F 的大小与 x 2 成反比,设为比例系数,则有:(1)2当火箭处于地面时,即 时 F = m g ,由式(1)可得 ,于Rx 2mgR是火箭在任意位置 x 处所受地球引力 F 的大小为 2xF由于火箭作直线运动,火箭的直线运动微分方程式为:分离变量积分 2vxgRd2、 物理机理1.龙格-库塔法的基本思想及一般形式设初值问题 ,由微分中值定理可知,必存在 ,],[)(baxy ],[1nx使 )(,)()()()(1yhfxyhnnn 2xgRdtmdvttvx22mdv设 ,并记 ,则)(nnxy)(,*yfK*1hKxnn其中 称为 在 上的平均斜率,只要对平均斜率 提供一*K)(xy][1,n *K种算法,上式就给出了一种数值解公式,例如,用 代替),(1nyxf,就得到欧拉公式,用 代替 ,就得到向后欧拉公* ),(12nyxfK*式,如果用 的平均值来代替 ,则可得到二阶精度的梯形公式。21,K*可以设想,如果在 上能多预测几个点的斜率值,用它们的加],[1nx权平均值代替 ,就有望的到具有较高精度的数值解公式,这就是*龙格-库塔( Runge-Kutta)法的基本思想。龙格-库塔公式的一般形式:(1 )),(),111ijjinini irinn KhyxfKfkchy其中 是 在 点的斜率预测值; 均为常i)(y)10(iin ijic,数,选取这些常数的原则是使(1)式有尽可能高的精度。2. 二阶龙格-库塔法的龙格-库塔公式为 :2r(2)),(),)(12221 21KhyxfKchynnnn 式中 均为待定常数,我们希望适当的选取这些系数使公式211,c的精度尽可能高,先将 按照二元函数泰勒级数:2 .),()(!1),( 2120122 nknknn yxfhxKhyxf 展开得到: .)],(),( ),(),(2,[!21 ,,),(),(1 212 12 nny nnxyx ynxnxffh yxffhfyfK为了叙述方便,把 和偏导数里面的 省略不写,将 代,nf nyx, 2K入(2) 式的第一式, 得:再用泰勒公式将 展开,先计算得到以下各式:)(1nxy )(2,2fffffyf yxyyxyx  )2(2()22113 1211 fffch ffchfcy yxyx yxnn 再代入泰勒公式中: .) 2(6)(2 .)(!3)!))( 2321  ff fffhfhy xyhxyxyxyx yxyxyxn nnnnn得到局部阶段误差为: .)]()216(31[ ])21()2[()1(213 212211  fffcfcfh fcfhfcyxRyxyy xyx yxnnn要使局部截断误差为 , 的系数需为零,于是)(3hOffyx,2121cc该方程组有 4 个未知数 3 个方程,所以有无穷多个解,它的每组解代入(2)式得到的近似公式都为二阶龙格- 库塔方法。例如,取,得到近似公式为:1,1221c ),())(2121 21hKyxfKhynnnn此处参数还有许多种不同的值,这里不再举例说明。3、四阶龙格-库塔法四阶龙格-库塔法的表达形式如下: ),( )),(), )( 36251434 3223 1121 4321 KbKbyhaxfKfyx KcKchynnnnnn 仿照二阶龙格-库塔法的解法,通过 N=4 阶的泰勒级数的系数匹配,使局部截断误差为 ,)(5hO24112)(861)(431263146254213132543212423312436542321bawbababawaawaba得到 11 个方程和 13 个未知量,因此需要补充两个条件,求解得到。0,21ba最后得出经典的四阶龙格-库塔公式: ),(2),())2(6343 121 431hKyxfKhyxfKKynnnnn三、数值计算方案微分方程用积分可以解得火箭达到的高度,但是如果用数值方法解微分方程,所得的结果要精确得多。所以对于模型中的微分方程,用四阶龙格-库塔法对其求解所得结果精度更高,该方法还可以61,3,1,6,1 ,0,,2,,,2426 5433 wwb bba应用更为复杂的微分方程,如布朗动力学运动方程,但是对于高阶的微分方程,需对其降阶再。上述模型中 ,地球半径取 千米, 火箭到skmv/80kmRx600达最大高度处的速度为 0,设当 时所对应的火箭距离地球球iv心的高度为 ,那么 即为火箭能达到的最大高度。ixxHi对于以下微分方程及其初值可知 ,利用上述所求的四阶龙格-库塔公式得到该模型的龙格-库塔式子: ),(2),())2(6343 121 431hKvxfKhvxfKKvnnnnn根据题目,有初值 , , 即可求解. 取 h=0.46025.1)(83),(2701 vxfK90.75.,6(2f271036),(xvfHRxRxvvxgd ,60,813002720iv0iv2905.1)746.,260(3 fK36.8.,4f 48351.7)360.1295.290.15.(6081 v 0nv代入四阶龙格-库塔公式计算,直至 。步长选取为0nv, 相应的 , 对应的值,直到 时,取到相4.0hhxi0iviv应的 ,则最大高度 .ixRHi四、流程图初始值 4.0,6,80hxv求出 ixK,21得出 RxHi将 ixv,再次代入

你可能感兴趣的:(四阶龙格库塔法的基本思想)