西安电子科技大学出版的《VB常用算法大全》第三章介绍了数值积分的几种算法
解决方案 »
- vb中能不能实现事件的嵌套,就像函数中可以继续嵌套函数一样,如果可以请讲解一下
- MDI窗口怎么设置子窗体在客户区居中
- 请高手帮助寻找一个控件
- 请教关于用adodc控件如何连接远程的sql sever数据库
- 如何从不断增加内容的TXT文件中提取新的数据?
- delphi中的pchar在vb中是什么啊?怎样把vb中的string转化为delphi中的pchar?急!
- 如何把菜单做成透明的,并且还可以在几秒钟之后,菜单自动消失?
- 请问如何用VBScript获取当前用户所在域?
- 请教有关VB获取网络TXT文本的问题
- 谁有水水晶报表的得help文件?
- 如何取得datagrid(ado)中的当前选择的数据和当前行?
- 请大家帮我一个忙,是关于数据库编程的。
1、用梯形公式计算面积近似值。
I1n=T1n=h*(f(a)+f(b))/2
2、用变步长梯形法计算面积近似值。
T2n=T1n/2+h*A/2 <--A代表求和公式,即程序中的for循环部分
3、用辛普森公式计算积分近似值。
I2n=(4*T2n-T1n)/3
4、当|I2n-I1n|<eps则得到所求。Option ExplicitPrivate Sub Form_Load()
Dim n As Integer
Dim a As Double, b As Double
Dim h As Double, T1n As Double, T2n As Double, I1n As Double, I2n As Double
n = 1 '初值
a = 0: b = 4 '积分区间
Const eps = 0.00000001 '积分精度
h = b - a
T2n = h * (f(a) + f(b)) / 2 '梯形公式计算面积近似值
I2n = h * (f(a) + f(b)) / 2
I1n = 0
Do While Abs(I2n - I1n) >= eps '求积分,当上次积分值I1n与本次积分值I2n之差小于esp时,
'则认为所求积分的近似度已达到要求
T1n = T2n
I1n = I2n
Dim sigma As Double
sigma = 0
Dim k As Integer
For k = 0 To n - 1 '求变步长梯形的和部分
Dim x As Double
x = a + (k + 0.5) * h
sigma = sigma + f(x)
Next k
T2n = (T1n + h * sigma) / 2 '变步长梯形
I2n = (4 * T2n - T1n) / 3 '辛普森公式
n = n * 2 '划分
h = h / 2
Loop
Form1.AutoRedraw = True
Print I2n
End SubFunction f(x As Double) As Double
f = (x + 2) / Sqr(2 * x + 1)
'f = x * x
'f = Exp(x) / (1 + x * x)
End Function