跪求用VB写好了的龙格库塔积分法

来源:百度知道 编辑:UC知道 时间:2024/05/18 00:48:12
假如我运行成功,一定给你加分的!!!

假设求解初值问题:
y'=y-2x/y (0<x<1)
y(0)=1
设步长h=0.2,从x=0直到x=1用四阶龙格库塔法:
Private Sub Form_click()
Dim x As Single, y As Single
Dim k1 As Single, k2 As Single, k3 As Single, k4 As Single
Dim y1 As Single, y2 As Single, y3 As Single, y4 As Single
x = 0
y = 1
h = 0.2
For i = 0 To 1 Step 0.2
k1 = f(x, y)
y1 = y + h / 2 * k1
x = x + h / 2
k2 = f(x, y1)
y2 = y + h / 2 * k2
k3 = f(x, y2)
y3 = y + h * k3
x = x + h / 2
k4 = f(x, y3)
y = y + h / 6 * (k1 + 2 * k2 + 2 * k3 + k4)
Print "x="; x; " y="; y
Next
End Sub

Private Function f(a As Single, b As Single) As Single
f = b - 2 * a / b
End Function