计算方法数值实验四.doc
文本预览下载声明
姓名:龙斌 班级:地物10-2班 学号
数值实验四
实验课题(一) 数值积分方法的使用和比较
对给定积分
I= (2)I= (3)
分别用下述计算方案求其积分,要求误差不超多 。将计算的结果分别按表6-10的形式排列,比较收敛的速度,并讨论或说明原因。
方案一 复化梯形法 方案二 复化辛普森法
方案三 复化两点高斯-体形法
解:
实验目的:学会编程数值积分,并比较它们的收敛速度。
实验内容:用VB分别编程方案一,方案二,方案三,并计算例题一二三,然后比较它们的收敛的速度,并讨论或说明原因。
实验过程:
(1) 用VB编程复化梯形法,复化辛普森法,复化两点高斯-体形法写例题(1)的程序:
Private Sub Command1_Click()
Dim a As Single, b As Single, n As Integer, h As Double, r
a = Val(Text2.Text)
b = Val(Text1.Text)
r = Val(Text3.Text)
Picture1.Cls
For n = 1 To r
x = a
h = (b - a) / 2 ^ n
X1 = a
X2 = a + h / 2
s = a * a * Exp(a) + b * b * Exp(b)
s1 = 0
s2 = X2 ^ 2 * (Exp(X2))
G = 0
D = 1 / (2 * 3 ^ (1 / 2))
C = 0
For k = 1 To 2 ^ n - 1
x = a + k * h
C = C + (x ^ 2) * (Exp(x))
Tn = 0.5 * h * ((a ^ 2) * Exp(a) + 2 * C + (b ^ 2) * Exp(b))
X1 = X1 + h
X2 = X2 + h
s1 = s1 + X1 * X1 * Exp(X1)
s2 = s2 + X2 ^ 2 * Exp(X2)
Sn = h * (s + 2 * s1 + 4 * s2) / 6
Next k
For i = 0 To 2 ^ n - 1
G = G + (a + (i + 0.5 - D) * h) ^ 2 * Exp(a + (i + 0.5 - D) * h) + (a + (i + 0.5 + D) * h) ^ 2 * Exp(a + (i + 0.5 + D) * h)
Next i
Picture1.Print Tab(0); 2 ^ n; + ; 1; Tab(13); Format(Tn, 0.########); Tab(27); Format(Sn, 0.########);
Picture1.Print Tab(41); Format(h * G / 2, 0.########)
Text3.Text = 2 ^ n
Label5.Caption = 分成的区间数
Next n
End Sub
VB运行的结果如下:
(2) 用VB编程复化梯形法,复化辛普森法,复化两点高斯-体形法写例题(2)的程序:
Private Sub Command3_Click()
Dim a As Single, b As Single, n1, n2, n As Integer, h As Double, r As Double
a = Val(Text2.Text)
b = Val(Text1.Text)
r = Val(Text3.Text)
Picture1.Cls
For n = 1 To r
x = a
h = (b - a) / 2 ^ n
X1 = a
X2 = a + h / 2
s = a * (1 + a * a) ^ 0.5 + b * (1 + b * b) ^ 0.5
s1 = 0
s2 = X2 * (1 + X2 * X2) ^ 0.5
G = 0
D = 1 /
显示全部