本人用VB编写一个解常微分方程的一段小代码,我怎么才能让结果显示在MSHFlexGrid里面?
代码如下:Dimy(6)AsSingleDimrAsSingleDimzAsSingleDimxAsSingleDimiAsSinglePrivateSubCommand...
代码如下:
Dim y(6) As Single
Dim r As Single
Dim z As Single
Dim x As Single
Dim i As Single
Private Sub Command2_Click()
Dim k1 As Single, k2 As Single, k3 As Single, k4 As Single
Cls
Print
Print "x(i)", "y(i)", "z", "|z-y(i)|"
Print
y(0) = 1: x = 0: i = 0
Do While x < 0.6
z = x + Exp(-x)
k1 = x - y(i) + 1
k2 = (x + (0.1 / 2)) - (y(i) + k1 * (0.1 / 2)) + 1
k3 = (x + (0.1 / 2)) - (y(i) + k2 * (0.1 / 2)) + 1
k4 = (x + 0.1) - (y(i) + k3 * 0.1) + 1
y(i + 1) = y(i) + (0.1 * (k1 + 2 * k2 + 2 * k3 + k4) / 6)
r = Abs(z - y(i))
Print Format(x, "0.0"), Format(y(i), "0.0000000"), Format(z, "0.0000000"), Format(r, "0.0000000")
i = i + 1: x = x + 0.1
Loop
End Sub
还有就是为什么我的这段代码在VB6.0里面可以正常运行,在VS2008里面就不行呢?如果要改的话哪里要做改动?
万分感谢!!!~ 展开
Dim y(6) As Single
Dim r As Single
Dim z As Single
Dim x As Single
Dim i As Single
Private Sub Command2_Click()
Dim k1 As Single, k2 As Single, k3 As Single, k4 As Single
Cls
Print "x(i)", "y(i)", "z", "|z-y(i)|"
y(0) = 1: x = 0: i = 0
Do While x < 0.6
z = x + Exp(-x)
k1 = x - y(i) + 1
k2 = (x + (0.1 / 2)) - (y(i) + k1 * (0.1 / 2)) + 1
k3 = (x + (0.1 / 2)) - (y(i) + k2 * (0.1 / 2)) + 1
k4 = (x + 0.1) - (y(i) + k3 * 0.1) + 1
y(i + 1) = y(i) + (0.1 * (k1 + 2 * k2 + 2 * k3 + k4) / 6)
r = Abs(z - y(i))
Print Format(x, "0.0"), Format(y(i), "0.0000000"), Format(z, "0.0000000"), Format(r, "0.0000000")
i = i + 1: x = x + 0.1
Loop
End Sub
还有就是为什么我的这段代码在VB6.0里面可以正常运行,在VS2008里面就不行呢?如果要改的话哪里要做改动?
万分感谢!!!~ 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询