数值计算方法大作业任务.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《数值计算方法大作业任务.doc》由会员分享,可在线阅读,更多相关《数值计算方法大作业任务.doc(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、,目录第一章 非线性方程求根31.1迭代法31.2牛顿法41.3弦截法51.4二分法6第二章 插值72.1线性插值72.2二次插值82.3拉格朗日插值92.4分段线性插值102.5分段二次插值11第三章 数值积分133.1复化矩形积分法133.2复化梯形积分法143.3辛普森积分法153.4变步长梯形积分法16第四章 线性方程组数值法174.1约当消去法17 4.2高斯消去法184.3三角分解法204.4雅可比迭代法214.5高斯赛德尔迭代法23第五章 常积分方程数值法255.1显示欧拉公式法255.2欧拉公式预测校正法26 5.3改进欧拉公式法275.4四阶龙格库塔法28数值计算方法第一章
2、非线性方程求根1.1迭代法程序代码:Private Sub Command1_Click()x0 = Val(InputBox(请输入初始值x0)ep = Val(InputBox(请输入误差限ep)f = 0While f = 0X1 = (Exp(2 * x0) - x0) / 5If Abs(X1 - x0) ep ThenPrint X1f = 1Elsex0 = X1End IfWendEnd Sub例:求f(x)=e2x-6x=0在x=0.5附近的根(ep=10-10)1.2牛顿法程序代码:Private Sub Command1_Click()b = Val(InputBox(请
3、输入被开方数x0)ep = Val(InputBox(请输入误差限ep)f = 0While f = 0X1 = x0 - (x0 2 - b) / (2 * b)If Abs(X1 - x0) ep ThenPrint X1f = 1Elsex0 = X1End IfWendEnd Sub例:求的值。(ep=10-10)1.3弦截法程序代码:Private Sub Command1_Click()x0 = Val(InputBox(请输入第一个初始值x0)X1 = Val(InputBox(请输入第二个初始值x1)ep = Val(InputBox(请输入误差限ep)f = 0While f
4、 = 0X2 = X1 - (X1 8 - 13) * (X1 - x0) / (X1 8 - 13) - (x0 8 - 13)If Abs(X2 - X1) 0 Thena = xElseb = xEnd IfIf Abs(b - a) ep Thenx = (b + a) / 2f = 1Print 方程的根是, xEnd IfEnd IfWendEnd Sub例:求方程f(x)=e-7/x(9-2x)-8在区间0,1内的实根。(ep=10-10)第2章 插 值2.1线性插值程序代码:Private Sub Command1_Click()X0 = Val(InputBox(请输入第一个
5、结点X:)Y0 = Val(InputBox(请输入第一个结点Y:)X1 = Val(InputBox(请输入第二个结点X:)Y1 = Val(InputBox(请输入第二个结点Y:)f = 0While f = 0x = Val(InputBox(请输入未知点的自变量值X:)L0 = (x - X1) / (X0 - X1)L1 = (x - X0) / (X1 - X0)y = L0 * Y0 + L1 * Y1Print x=; x, y=; yf = Val(InputBox(是否继续(0/1):)WendEnd Sub例:已知两点(13 , 1)、(49 , 8),求30处的值。2.
6、2二次插值程序代码:Private Sub Command1_Click()X0 = Val(InputBox(请输入第一个结点X:)Y0 = Val(InputBox(请输入第一个结点Y:)X1 = Val(InputBox(请输入第二个结点X:)Y1 = Val(InputBox(请输入第二个结点Y:)X2 = Val(InputBox(请输入第三个结点X:)Y2 = Val(InputBox(请输入第三个结点Y:)f = 0While f = 0x = Val(InputBox(请输入未知点的自变量值X:)L0 = (x - X1) * (x - X2) / (X0 - X1) / (X
7、0 - X2)L1 = (x - X0) * (x - X2) / (X1 - X0) / (X1 - X2)L2 = (x - X0) * (x - X1) / (X2 - X0) / (X2 - X1)y = L0 * Y0 + L1 * Y1 + L2 * Y2Print x=; x, y=; yf = Val(InputBox(是否继续(0/1):)WendEnd Sub例:已知三点(81 ,9)、(100 ,10)、(121 ,10),求98处的值。2.3拉格朗日插值程序代码:Private Sub Command1_Click()Dim x(), y()n = Val(InputB
8、ox(请输入插值节点数N)ReDim x(n), y(n)For i = 0 To nx(i) = Val(InputBox(请输入插值节点x( + Str(i) + )y(i) = Val(InputBox(请输入插值节点y( + Str(i) + )Next if = 0While f = 0xx = Val(InputBox(请输入未知点的自变量x:)Sum = 0For i = 0 To nt = 1For j = 0 To nIf j i Thent = t * (xx - x(j) / (x(i) - x(j)End IfNext jSum = Sum + t * y(i)Next
9、 iPrint x=; xx, y=; Sumf = Val(InputBox(是否继续(0/1))WendEnd Sub例:已知四点(100 ,10)、(81 ,9)、(64 ,8)、(49 ,7),求87 处的值。2.4分段线性插值程序代码:Private Sub Command1_Click()Dim x(), y()n = Val(InputBox(请输入插值节点数N)ReDim x(n), y(n)For i = 0 To nx(i) = Val(InputBox(请输入插值节点x( + Str(i) + )y(i) = Val(InputBox(请输入插值节点y( + Str(i)
10、 + )Next if = 0While f = 0xx = Val(InputBox(请输入未知点的自变量x:)L = 0j = 1While L = 0If xx n - 1 Thenk = n - 1L = 1End IfEnd IfWendl0 = (xx - x(k) / (x(k - 1) - x(k)l1 = (xx - x(k - 1) / (x(k) - x(k - 1)yy = l0 * y(k - 1) + l1 * y(k)Print x=; xx, y=; yyf = Val(InputBox(是否继续(0/1))WendEnd Sub例:已知三点(361 , 19)
11、、(324 ,18)、(289 ,17),N=2,求300处的值。2.5分段二次插值程序代码:Private Sub Command1_Click()Dim x(), y()n = Val(InputBox(请输入插值节点数N)ReDim x(n), y(n)For i = 0 To nx(i) = Val(InputBox(请输入插值节点x( + Str(i) + )y(i) = Val(InputBox(请输入插值节点y( + Str(i) + )Next if = 0While f = 0xx = Val(InputBox(请输入未知点的自变量x:)If x0 = n - 1If x0
12、x(i) ThenIf x0 - x(i - 1) x(i) - x0 Thenk = i - 1f = 1Elsek = if = 1End IfElsei = i + 1End IfLoopIf f = 0 Thenk = n - 1End Ifl1 = (xx - x(k + 1) * (xx - x(k) / (x(k - 1) - x(k + 1) * (x(k - 1) - x(k)l2 = (xx - x(k + 1) * (xx - x(k - 1) / (x(k) - x(k + 1) * (x(k) - x(k - 1)l3 = (xx - x(k) * (xx - x(k
13、 - 1) / (x(k + 1) - x(k) * (x(k + 1) - x(k - 1)yy = l1 * y(k - 1) + l2 * y(k) + l3 * y(k + 1)Print x=; xx, y=; yyf = Val(InputBox(是否继续(0/1))WendEnd Sub例:已知三点(225 , 15)、(196 ,14)、(169 ,13),求180处的值。第3章 数值积分3.1 复化矩形积分法程序代码:Private Sub Command1_Click()a = Val(InputBox(请输入积分下限a)b = Val(InputBox(请输入积分上限b)
14、n = Val(InputBox(请输入积分区间等分数N)h = (b - a) / nSum = 0For i = 1 To nSum = Sum + (a + (i - 0.5) * h) 2Next ir = h * SumPrint 复化矩形积分法计算结果:; rEnd Sub 例:求X2在区间3,5的积分值,等分区间为100。3.2复化梯形积分法程序代码:Private Sub Command1_Click()a = Val(InputBox(请输入积分下限a)b = Val(InputBox(请输入积分上限b)n = Val(InputBox(请输入积分区间等分数N)h = (b
15、- a) / nSum = 0For i = 1 To n - 1Sum = Sum + (a + i * h) 2Next it = h * (a 2 + b 2) / 2 + h * SumPrint 复化梯形积分法计算结果:; tEnd Sub例:求X2在区间3,5的积分值,等分区间为100。3.3辛普生积分法程序代码:Private Sub Command1_Click()a = Val(InputBox(请输入积分下限A:)b = Val(InputBox(请输入积分上限B:)n = Val(InputBox(请输入积分区间等分数N:)h = (b - a) / nSum = 0w
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数值 计算方法 作业 任务
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内