当前位置:文档之家› 微分方程数值求解方法

微分方程数值求解方法


每一种方法的区别 在于,如何从前一 个点得到下一点。
2. 欧拉法
以如下微分方程为例
yt f t , y t
y t0 y0
已知A0点坐标 t0 , y t0 ,过A0点的切线方程为
y y t0 yt0 t t0 f t0 , y t0 t t0
在t1时刻,曲线上点 y t1 可以切线上的点代替,则
y t1 y t0 f t0 , y t0 t1 t0
写成迭代格式
yn1 yn hf tn , yn
t0 t1
3. 龙格库塔法
龙格-库塔法(Runge-Kutta)是用于常微分方程求解的一类重要迭代方 法,由数学家卡尔·龙格和马丁·威尔海姆·库塔于1900年左右发明。对于 如下方程
3. 龙格库塔法
k1 f t n , yn h h k 2 f t n , yn k1 2 2 h h k3 f t n , y n k 2 2 2 k 4 f t n h, yn hk3 k k1 2k 2 2k3 k 4 6 yn 1 yn hk
龙格库塔法:下一个值(yn+1)由现在的值(yn) 加上时间间隔(h)和一个估算的斜率的乘积 决定。该斜率是以下斜率的加权平均: k1是时间段开始时的斜率; k2是时间段中点的斜率,通过欧拉法采用 斜率k1来决定y在点tn + h/2的值; h k2决 k3也是中点的斜率,但是这次采用斜率 定y值; k4是时间段终点的斜率,其y值用k3决定。 当四个斜率取平均时,中点的斜率有更大 的权值:
4. 二阶微分方程的数值求解
对于二阶微分方程
2 x 2 n x n x F cos t
引入变量u1、u2分别表示位移和速度,则可以化成2个一阶微分方程组
u 1 u2
2 u u1 2 F cos t 2 nu2 n
上述方程可以看成以t为参数,在(u1,u2)平面上曲线的切线矢量(斜率),就 能直接应用欧拉法或龙格库塔方法。
u 1 u2
2 u u1 2 F cos t 2 nu2 n
振动微分方程的数值方法 李 鹤 hli@
1. 数值求解微分方程的基本思想
每一个微分方程对应一条曲线。 微分方程的数值求解,实际上是计算一条未知曲线 的形状:它具有给定的起点并且满足一个给定的微 分方程。 “微分方程”可以看作能够通过曲线上任 意点的位置而计算出这一点的切线斜率的公式。 求解思路是,一开始只知道曲线的起点(假设为 A0),曲线其他部份是未知的,通过微分方程, A0 的斜率可以被计算出来,也就得到了切线。 顺着切线向前走一小步到点。如果我们假设是曲线 上的一点(实际上通常不是),那么同样的道理就 可以确定下一条切线,依此类推。在经过几步之后, 一条折线就被计算出来了。大部分的情况下,这条 折线与原先的未知曲线偏离不远,并且任意小的误 差都可以通过减少步长来得到。
5. 相平面、相轨线(相轨迹)
(u1,u2)平面在振动分析中被称为相平面。 对方程
u 1 u2
2 u u1 2 F cos t 2 nu2 n
得到以时间t为参数的参数方程
u1 u1 t u2 u2 t
称为相轨线或相轨迹。
6. 算例
2 x 2 n x n x F cos t
yt f t , yt
yt0 y0
龙格-库塔法的基本格式如下 1 yn1 yn h k1 2k2 2k3 k 4 6 k1 f t n , yn
yn1 yn hf tn , yn
h h k 2 f tn , yn k1 2 2 h h k3 f t n , y n k 2 2 2 k 4 f t n h, yn hk3
相关主题