文档详情

计算方法数值实验四.doc

发布:2017-06-05约4.1千字共5页下载文档
文本预览下载声明
姓名:龙斌 班级:地物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 /
显示全部
相似文档