东北石油大学计算方法上机实验答案.doc





《东北石油大学计算方法上机实验答案.doc》由会员分享,可在线阅读,更多相关《东北石油大学计算方法上机实验答案.doc(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流东北石油大学计算方法上机实验答案.精品文档.实验一1.Private Function f(x!) f=x3-2*x2-4*x-7End FunctionPrivate Sub form_click()Dim a!, b!, x!, c!a = 3: b = 4Do While Abs(b - a) 0.00001 c = (a + b) / 2 If f(c) = 0 Then Exit Do Else If f(a) * f(c) 0.00001 y = (a + b) / 2 If f(y) = 0 Then Exit Do Else
2、If f(a) * f(y) 0 Then b = y Else a = y End If End IfLoopg = yEnd FunctionPrivate Sub form_click()Dim a!, b!a = InputBox(输入隔根区间上界)b = InputBox(输入隔根区间下界)c = g(a, b)Print cEnd Sub2.Private Function f(x!)f = x 4 - 5 * x 2 + x + 2End FunctionPrivate Sub form_click()Dim a!, b!, c!, h!, x!, i%, j%, p(0 To
3、4) As Single, q(0 To 4) As Singlea = -6: b = 6: h = 0.3x = ai = 0For j = 0 To 100 If f(x) * f(x + h) 0.00001 c = (a + b) / 2 If f(c) = 0 Then Exit Do Else If f(a) * f(c) 0 Then b = c Else a = c End If End If Loop Print root=; c NextEnd Sub(h 取值 使得划分的隔根区间避开根所在得区间上下界)3.Private Sub form_click() Dim a(0
4、 To 20) As Single, y As Single, x As Single Dim i As Integer, n As Integer n = InputBox(输入多项式的次数) For i = 0 To n a(i) = InputBox(输入a( & Str(i) & ) Next i x = InputBox(输入x) y = a(n) For i = 1 To n y = y * x + a(n - i) Next i Print yEnd Sub实验二1.(1)Private Sub form_click()Dim x0 As Single, x1 As Single
5、Dim M As Integerx1 = 2: M = 5: k = 1Dox0 = x1x1 = x0 - (x0 3 - x0 2 - 2 * x0 - 3) / (3 * x0 2 - 2 * x0 - 2)k = k + 1Loop While k 0.00001Print x1End Sub(2)Private Sub form_click()Dim x0 As Single, x1 As SingleDim M As Integerx1 = 1: M = 6: k = 1Dox0 = x1x1 = x0 - (x0 - Sin(x0) - 0.5) / (1 - Cos(x0)k
6、= k + 1Loop While k 0.00001Print x1End Sub2Private Sub form_click()Dim x0 As Single, x1 As SingleDim a As Integera = InputBox(输入a)If a = 0 Then Print a的立方根=0 EndEnd Ifx1 = aDox0 = x1x1 = x0 - (x0 3 - a) / (3 * x0 2)Loop While Abs(x1 - x0) 0.000005Print a的立方根为:; x1End Sub3.Private Sub form_click()Dim
7、 x0 As Single, x1 As Single, x2 As SingleDim M As Integerx1 = 0: x2 = 1: M = 6: k = 1Dox0 = x1x1 = x2x2 = x1 - (f(x1) * (x1 - x0) / (f(x1) - f(x0)k = k + 1Loop While k 0.0001Print x1End SubPrivate Function f(x!)f = x + Sin(x) - 1End Function4.Private Sub form_click()Dim x#, x1#x1 = 1Dox = x1x1 = x -
8、 (x - Exp(-x) / (1 + Exp(-x)Loop While Abs(x1 - x) = 10 (-5)Print a的立方根为:; x1End Sub实验三1.按列选主元德高斯消去法解线性方程组的通用程序Option Base 1Private Sub Form_Click()Dim a(1 To 3, 1 To 4) As Single, t#, i!, j!, k!, r!, l#, x(1 To 3) As SingleFor i = 1 To 3 For j = 1 To 4 a(i, j) = InputBox(输入一个数) Print a(i, j); Next
9、j PrintNext iFor k = 1 To 2 r = k For i = k + 1 To 3 If Abs(a(i, k) Abs(a(r, k) Then r = i Next i If r k Then For i = 1 To 4 t = a(k, i) a(k, i) = a(r, i) a(r, i) = t Next i End If For i = k + 1 To 3 l = a(i, k) / a(k, k) For j = k + 1 To 4 a(i, j) = a(i, j) - l * a(k, j) Next j Next i Next k For k
10、= 3 To 1 Step -1 s = 0 For j = k + 1 To 3 s = s + a(k, j) * x(j) Next j x(k) = (a(k, 4) - s) / a(k, k) Next k For i = 1 To 3 Print x(i), Next iEnd Sub3.用LU分解法解线性方程组Private Sub form_click()Const n = 4Dim a(1 To n, 1 To n) As Single, l(1 To n, 1 To n) As Single, u(1 To n, 1 To n) As SingleDim x(1 To n
11、) As Single, y(1 To n) As Single, b(1 To n) As Single, s#, i!, j!, k!, r!For i = 1 To n For j = 1 To n a(i, j) = InputBox(输入a数组) Print a(i, j), Next j PrintNext iFor i = 1 To n b(i) = InputBox(输入b数组)Print b(i),Next iPrintFor k = 1 To n For j = k To n s = 0 For r = 1 To k - 1 s = s + l(k, r) * u(r, j
12、) Next r u(k, j) = a(k, j) - s Next j For i = k + 1 To n s = 0 For r = 1 To k - 1 s = s + l(i, r) * u(r, k) Next r l(i, k) = (a(i, k) - s) / u(k, k) Next i Next k For i = 1 To n s = 0 For k = 1 To i - 1 s = s + l(i, k) * y(k) Next k y(i) = b(i) - s Next i For i = n To 1 Step -1 s = 0 For k = i + 1 T
13、o n s = s + (u(i, k) * x(k) Next k x(i) = (y(i) - s) / u(i, i) Next i For i = 1 To n Print x(i) Next iEnd Sub实验四5.雅克比迭代Option Base 1Function cha(x!(), y!() As Single Dim z As Single, i As Single, k As Integer n = 3 z = Abs(x(1) - y(1) For i = 2 To n If z Abs(x(i) - y(i) Then z = Abs(x(i) - y(i) Next
14、 i cha = zEnd FunctionPrivate Sub form_click() Dim a1, x(3) As Single, y(3) As Single Dim t As Single, s As Single, a(3, 3) As Single Dim i As Integer, j As Integer, k As Integer, n As Integer n = 3 a1 = Array(10, -2, -1, -2, 10, -1, -1, -2, 5) b = Array(3, 15, 10) For i = 1 To n: y(i) = 0: Next i k
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 东北 石油大学 计算方法 上机 实验 答案

限制150内