数值积分vb实现.pdf
文本预览下载声明
数值积分
首先建一个程序,程序结构如下(启动窗体为form1)
Form1 的窗体设计如下(一个空白窗体加一个按钮控件,窗体大小下图中有)
Form2 窗体设计如下(一个空白窗体,窗体大小下图中有)
Form1 下的程序代码如下
注意!!!!!!!!!!!!下面程序代码中深红色
部分为VB6.0 中自带的部分。而紫红色部分
为在VB6.0 中应写在一行中,但在本文中由
于纸张限制出现分行的部分,此部分在写入
VB6.0 时应该写在一行中,否则会出现错误
Private Sub Command1_Click()
Form2.Show
End Sub
Private Sub guocheng0()
a = Val(InputBox(输入积分下限 (即“a ”), 数值积分, 0))
b = Val(InputBox(输入积分上限 (即“b ”), 数值积分, 1))
Call guocheng1
Command1.Enabled = True
End Sub
Private Sub form_dblclick()
Form1.Cls
Call guocheng0
End Sub
Private Sub guocheng1()
Dim n, h#, i, m, g, it, iit, p, q, v, z, qq
Dim t#(), r#()
n = Val(InputBox(输入积分区间划分份数的上限 (即“n 的上限”), 数值积分, 128))
ReDim t#(n)
Print Tab(4); 复化梯形公式
For i = 1 To n
h = (b - a) / i
t(i) = TX(a, b, h, i)
Next i
If n = 16 Then
For q = 1 To n
Print Tab(4); T q =; Tab(8); t(q)
Next q
Else
If n = 64 Then
If n Mod 2 = 0 Then
p = n / 2
For q = 1 To p
Print Tab(4); T q =; Tab(8); t(q); Tab(30); T q + p =; Tab(34); t(q + p)
Next q
Else
p = Fix(n / 2)
For q = 1 To p
Print Tab(4); T q =; Tab(8); t(q); Tab(30); T q + p =; Tab(34); t(q + p)
Next q
Print Tab(30); T n; =; Tab(34); t(n)
End If
Else
If n Mod 4 = 0 Then
p = n / 4
For q = 1 To p
Print Tab(4); T q =; Tab(8); t(q); Tab(30); T q + p =; Tab(34); t(q + p); Tab(56);
T q + 2 * p =; Tab(62); t(q + 2 * p); Tab(82); T q + 3 * p =; Tab(90); t(q + 3 * p)
Next q
Else
p = Fix(n / 4)
v = n Mod 4
z = n - 3 * (p + 1)
For q = 1 To z
Print Tab(4); T q =; Tab(8); t(q); Tab(30); T q + p + 1 =; Tab(34); t(q + p + 1);
Tab(56); T q + 2 * p + 2 =; Tab(62); t(q + 2 * p + 2); Tab(82); T q + 3 * p + 3 =;
Tab(90); t(q + 3 * p + 3)
Next q
For qq = z + 1 To p + 1
Print Tab(4); T qq =; Tab(8); t(qq); Tab(30); T qq + (p + 1) =; Tab(34); t(qq + p
+ 1); Tab(56); T qq + 2 * (p + 1) =; Tab(62); t(qq + 2 * (p + 1))
Next qq
End If
End If
End If
Print Tab(4); Romberg 公式
If n = 8 Then
it = 0
For m = 1 To n
g =
显示全部