主题:VB编写积分
想用VB写一个计算积分(微积分)的程序
自己写了一个结果总是为0
麻烦各位给看看,或者重新给写一下,感激不尽
If 0 <= a0 < 10 And 0 < b0 <= 10 Then
Do While b0 = 10
If b0 > a0 And Abs(b0 - a0) < 0.00001 Then
a0 = a0 + 0.00001
b0 = b0 + 0.00001
a1 = 20 * Sqr(1 - (2 * a0 - 1) ^ 2)
b1 = 20 * Sqr(1 - (2 * b0 - 1) ^ 2)
End If
S = 0.5 * (a1 + b1) * (b0 - a0) (利用梯形面积公式计算)
S1 = S1 + S (面积叠加)
Loop
End If
Text13.Text = S1
编译能过通过,定义的都是double;就是结果为零
上面的问题解决了,可是
If a0 >= 0 And a0 < b And b0 <= b Then
Do
a0 = a0 + 0.0001
b0 = b0 + 0.0001
a1 = Text10.Text * Sqr(1 - (2 * a0 - 1) ^ 2)
b1 = Text10.Text * Sqr(1 - (2 * b0 - 1) ^ 2)
S = 0.5 * (a1 + b1) * (b0 - a0)
S1 = S1 + S
Loop Until b0 = Text12.Text
End If
运行以后在a1出错了,出现“无效的调用过程或参数”,哪出问题了;请大家指点。
自己写了一个结果总是为0
麻烦各位给看看,或者重新给写一下,感激不尽
If 0 <= a0 < 10 And 0 < b0 <= 10 Then
Do While b0 = 10
If b0 > a0 And Abs(b0 - a0) < 0.00001 Then
a0 = a0 + 0.00001
b0 = b0 + 0.00001
a1 = 20 * Sqr(1 - (2 * a0 - 1) ^ 2)
b1 = 20 * Sqr(1 - (2 * b0 - 1) ^ 2)
End If
S = 0.5 * (a1 + b1) * (b0 - a0) (利用梯形面积公式计算)
S1 = S1 + S (面积叠加)
Loop
End If
Text13.Text = S1
编译能过通过,定义的都是double;就是结果为零
上面的问题解决了,可是
If a0 >= 0 And a0 < b And b0 <= b Then
Do
a0 = a0 + 0.0001
b0 = b0 + 0.0001
a1 = Text10.Text * Sqr(1 - (2 * a0 - 1) ^ 2)
b1 = Text10.Text * Sqr(1 - (2 * b0 - 1) ^ 2)
S = 0.5 * (a1 + b1) * (b0 - a0)
S1 = S1 + S
Loop Until b0 = Text12.Text
End If
运行以后在a1出错了,出现“无效的调用过程或参数”,哪出问题了;请大家指点。