全球旧事资料 分类
fevalfafevalfb
1J0err1whileerreps
JJ1hh2S0fori1
xah2i1SSfevalfxe
dRJ11RJ12hSfork1JRJ1k14kRJ1kRJk4k1e
derrabsRJ1J1RJ1J
2
e
dRTRJ1J1
formatlo
gfx3xx145x7si
xxT
mrombf131e5
35问题讨论:1Romberge算法的优点是把积分化为代数运算而实际上只需求
T1i以后用递推可得算法简单且收敛速度快一般4或5次即能达到要求。
10
f2Romberge算法的缺点是对函数的光滑性要求较高,计算新分点的值时,这些数值的个数成倍增加。
3该程序较为复杂,涉及函数定义,有循环,而且循环中又有判断,编写时需要注意该判断条件是处于循环中,当达到要求时跳出循环,终止运算。
4函数的定义可放在主函数前也可在主程序后面。本程序采用的后置方式。
11
f4用定步长四阶Ru
geKutta求解
dy1dt1dy2dty3
dy3dt10001000y2100y3

y1
0

0

y2
0

0
y300
h00005,打印yi0025,yi0045,yi0085,yi01,
i1,2,3
41理论依据:
Ru
ge_Kutta采用高阶单步法,这里不是先按Taylor公式展开,
而是先写成t
处附近的值的线性组合(有待定常数)再按Taylor公式
展开,然后确定待定常数,这就是Ru
geKutta法的思想方法。
本题采用四阶古典的Ru
geKutta公式:
Y
1Y
K13K23K3K48K1hFx
Y
K2hFx
h3Y
hK13K3hFx
2h3Y
hK13hK2K4hFx
hY
hK1hK2hK3
42C语言程序代码:
i
cludestdiohvoidfu
doublex4doubley4doublehy11h
y2x3hy310001000x2100x2100x3hvoidmai
doubleY54K54mz4e00005doubley5000250045008501i
tijkfori1i3i
Y1i0fori1i4i
微分方程向量函数
12
fforj1j3j
Kij0
fork1k5k
formyk1mykmme
fori1i3i
ziYki
fu
zK1e
fori1i3i
ziYkieK2i2
依此求K1K2K3的值
fu
zK2e
fori1i3i
ziYkieK2i2
fu
zK3e
fori1i3i
ziYkieK3i
fu
zK4e
fori1i3i
YkiYkiK1i2K2i2K3iK4i6
YiN1的值
ifk5
fori1i3i
Yk1iYki
pri
tf
好听全球资料 返回顶部