ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:50.04KB ,
资源ID:4828202      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4828202.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数值计算方法大作业.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数值计算方法大作业.docx

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约当消去法 174.2高斯消去法 184.3三角分解法 204.4雅可比迭代法 214.5高斯一赛德尔迭代法 23第五章常积分方程数值法 255.1显示欧拉公式法 255.2欧拉公式预测校正法 265.3改进欧拉公

2、式法 275.4四阶龙格一库塔法 28数值计算方法第一章非线性方程求根1.1迭代法程序代码:Private Sub Comma nd1_Click()x0 = Val(InputBox(请输入初始值 x0)ep = Val(InputBox(请输入误差限 ep)f = 0While f = 0X1 = (Exp(2 * x0) - x0) / 5If Abs(X1 - x0) I薄斗 H 達 XQ) ep H va-(-npu65ox(i5f!imep)70whi_e f H 0XI H xoxo 2 1 b)二2 * b) -f Abs(x_k xo) A el ThenPrinfXIf丄E

3、_seX0HX1End _fWendEnd Subs-说劎3血。(epHlo)1.3弦截法程序代码:Private Sub Comma nd1_Click()x0 = Val(InputBox(请输入第一个初始值 x0)X1 = Val(InputBox(请输入第二个初始值x1)ep = Val(InputBox(请输入误差限 ep) f = 0While f = 0X2 = X1 - (X1 A 8 - 13) * (X1 - x0) / (X1 A 8 - 13) - (x0 A 8 - 13)If Abs(X2 - X1) 0 The na = xElseb = xEnd IfIf Ab

4、s(b - a) ep The nx = (b + a) / 2f = 1Print方程的根是,xEnd IfEnd IfWendEnd Sub-10 (ep=10 )例:求方程f (x)=e-7/x(9-2x)-8在区间0,1内的实根。戸 FormlJitnplqt匕j.方程的根是.31555613OS24961三莊ii 1i ck第二章插值2.1线性插值程序代码:Private Sub Comma nd1_Click()X0 = Val(InputBox(请输入第一个结点 X:)Y0 = Val(InputBox(请输入第一个结点 丫:)X1 = Val(InputBox(请输入第二个结点

5、 X:)Y1 = Val(InputBox(请输入第二个结点 丫:)f = 0While f = 0x = Val(I nputBox(请输入未知点的自变量值 X:)L0 = (x - X1) / (X0 - X1)L1 = (x - X0) / (X1 - X0)y = L0 * Y0 + L1 * Y1Prin t x=; x, y=; yf = Val(InputBox(是否继续(0/1):)WendEnd Sub例:已知两点(13 , 1)、( 49,8),求30处的值r口 Forml1泸30尸 4. 305555S5555556:0r_统性插值|2.2二次插值程序代码:Private

6、 Sub Comma nd1_Click()X0 = Val(InputBox(请输入第一个结点 X:)Y0 = Val(InputBox(请输入第一个结点 丫:)X1 = Val(InputBox(请输入第二个结点 X:)Y1 = Val(InputBox(请输入第二个结点 丫:)X2 = Val(InputBox(请输入第三个结点 X:)Y2 = Val(InputBox(请输入第三个结点 丫:) f = 0While f = 0x = Val(I nputBox(请输入未知点的自变量值 X:)L0 = (x - X1) * (x - X2) / (X0 - X1) / (X0 - X2)

7、L1 = (x - X0) * (x - X2) / (X1 - X0) / (X1 - X2)L2 = (x - X0) * (x - X1) / (X2 - X0) / (X2 - X1)y = L0 * Y0 + L1 * 丫1 + L2 * Y2Prin t x=; x, y=; yf = Val(InputBox(是否继续(0/1):)WendEnd Sub例:已知三点(81,9)、( 100,10)、( 121,10),求 98处的值r鬥 FarrnlD 回 1! S398y= 9.朋旳 9749-373434mo I3ici2.3拉格朗日插值程序代码:Private Sub Co

8、mma nd1_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:)Sum = 0For i = 0 To nt = 1For j = 0 To nIf j i The nt = t * (xx - x(j) /

9、 (x(i) - x(j)End IfNext jSum = Sum + t * y(i)Next iPrin t x=; xx, y=; Sumf = Val(InputBox(是否继续(0/1)WendEnd Sub例:已知四点(100,10)、(81,9)、(64,8)、(49,7),求 87 处的值。-I 0 Forrnl : u |.回 |! SjJ Ix= 67 y= 9.32563396692811拉格朗曰插值2.4分段线性插值程序代码:Private Sub Comma nd1_Click()Dim x(), y()n = Val(InputBox(请输入插值节点数 N)ReD

10、im 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:)L = 0j = 1While L = 0If xx n - 1 The nk = n - 1L = 1End IfEnd IfWend10 = (xx - x(k) / (x(k - 1) - x(k)11 = (xx - x(k - 1) / (x(k)

11、- x(k - 1)yy = l0 * y(k - 1) + l1 * y(k)Prin t x=; xx, y=; yyf = Val(InputBox(是否继续(0/1)WendEnd SubL Forml300尸 17,3142867142857例:已知三点(361 , 19)、(324 , 18)、(289 , 17), N=2,求 300 处的值分段线性插值2.5分段二次插值程序代码:Private Sub Comma nd1_Click()Dim x(), y()n = Val(InputBox(请输入插值节点数 N)ReDim x(n), y( n)For i = 0 To nx

12、(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 x(i) The nIf x0 - x(i - 1) x(i) - x0 Thenk = i - 1f = 1Elsek = if = 1End IfElsei = i + 1End IfLoopIf f = 0 Thenk = n - 1End If11 = (xx - x(k

13、 + 1) * (xx - x(k) / (x(k - 1) - x(k + 1) * (x(k - 1) - x(k)12 = (xx - x(k + 1) * (xx - x(k - 1) / (x(k) - x(k + 1) * (x(k) - x(k - 1)13 = (xx - x(k) * (xx - x(k - 1) / (x(k + 1) - x(k) * (x(k + 1) - x(k - 1) yy = l1 * y(k - 1) + 12 * y(k) + 13 * y(k + 1)Prin t x=; xx, y=; yyf = Val(InputBox(是否继续(0/

14、1)WendEnd Sub例:已知三点(225,15)、(196 , 14)、(169 , 13),求 180 处的值1 芯専-c-rm L丨口 回云1泸180y= 13. 4154351395731I分段二次播值第三章 数值积分3.1复化矩形积分法程序代码:Private Sub Comma nd1_Click()a = Val(InputBox(请输入积分下限a)b = Val(InputBox(请输入积分上限b)n = Val(I nputBox(请输入积分区间等分数 N) h = (b - a) / nSum = 0For i = 1 To nSum = Sum + (a + (i -

15、 0.5) * h) A 2Next ir = h * SumPrint 复化矩形积分法计算结果:;rEnd Sub例:求X2在区间3,5的积分值,等分区间为100ClickForml cj复化梯形稅分法计算结果:32.&S6&程序代码:Private Sub Comma nd1_Click()a = Val(InputBox( 请输入积分下限a)b = Val(InputBox( 请输入积分上限b)n = Val(I nputBox( 请输入积分区间等分数 N)h = (b - a) / nSum = 0For i = 1 To n - 1Sum = Sum + (a + i * h) A

16、2Next it = h * (a a 2 + b a 2) / 2 + h * SumPrint 复化梯形积分法计算结果:;tEnd Sub例:求X2在区间3,5的积分值,等分区间为100。亘化梯形租分法计算结果;32 6B68亘化梯形枳分法程序代码:Private Sub Comma nd1_Click()a = Val(InputBox(请输入积分下限A:)b = Val(InputBox(请输入积分上限 B:)n = Val(I nputBox(请输入积分区间等分数 N:) h = (b - a) / nSum = 0w = a + h / 2While w bSum = Sum +

17、(w - h / 2) A 2 + 4 * w A 2 + (w + h / 2) A 2 w = w + hWends = Sum * h / 6Print 辛普生积分法计算结果:;sEnd Sub例:求X2在区间3,5的积分值,等分区间为100口 Fomnl1 e 21辛普生稅分法计算结果:32 6&6666666&6&Sn厂 -1辛普生稅分法程序代码:Private Sub Comma nd1_Click()a = Val(InputBox(请输入积分下限a:) b = Val(InputBox(请输入积分上限b:) ep = Val(InputBox(请输入误差限 ep:) n = 1

18、h = b - at1 = h * (a A 2 + b A 2) / 2f = 0While f = 0Sum = 0For i = 1 To n - 1Sum = Sum + (a + (i - 1 / 2) * h) a 2Next iT2 = t1 / 2 + h * Sum / 2If Abs(T2 - t1) ep ThenPrint T2f = 1Elset1 = T2h = h / 2n = 2 * nEnd IfWendEnd Sub例:求X2在区间3,5的积分值,误差限ep=0.0001第四章 线性方程组数值解法4.1约当消去法程序代码:Private Sub Comma

19、nd1_Click()Dim a()n = Val(InputBox( 请输入方程的个数 N:)ReDim a(n, n + 1)For i = 1 To nFor j = 1 To n + 1+ )=)a(i, j) = Val(InputBox( 请输入增广矩阵 A( + Str(i) + , + Str(j)Next jNext iFor k = 1 To nm = a(k, k)For j = k To n + 1a(k, j) = a(k, j) / mNext jFor i = 1 To nIf i k The nm = a(i, k)For j = k To n + 1a(i,

20、j) = a(i, j) - a(k, j) * mNext jEnd IfNext iNext kFor i = 1 To nPrin t x( + Str(i) + )=; a(i, n + 1)Next iEnd Sub例:已知方程组,求X X2 X3的值。厂 X1+ X2+ X3=202X+3X+ X3=38-X1+4X+ X3=35口 Fopmz4.2M驾羔a并H-private Sub commanslc=ck()Dim apx() n H va_ (一npu65ox25阱 厲就-達 N2)ReDim a(p n +)x(n)For i Hl To nForj Hl To n +

21、1a(L j) H va_ (一npu65ox(=逋鸯 迤書再 A(= + S艾 i) + - + sfre+ =)2) Nexf jNexf iFor k Hl To n 1m H a?k)Forj H k To n +ka(k二)H a(k二二 3Nexf jFor i H k + 1 To nm H a(L k)Forj H k To n +k a(L j) H a(L j) - a(k二)* mNexf jNexf iNexf koox(n) = a(n, n + 1) / a(n, n) For i = n - 1 To 1 Step -1 Sum = 0For j = i + 1

22、To nSum = Sum + a(i, j) * x(j) Next jx(i) = a(i, n + 1) - SumNext iFor i = 1 To nPrin t x( + Str(i) + )=; x(i) Next iEnd Sub例:已知方程组,求X1 X2 X3的值2X+5X+ X3=214X+3X+3X=31X1+3X+2X=16r 鬥 Form!1 口 茁亘xC 1)= 4 xC 2讥 3)= 31 高斯消去法E !F 4.3三角分解法程序代码:Private Sub Comma nd1_Click()Dim a(), b(), l(), u(), x(),()n =

23、Val(InputBox(请输入方程个数 N:)ReDim a(n, n), b( n), 1( n, n), u( n, n), x( n), y( n)For i = 1 To nForj = 1 To na(i, j) = Val(InputBox(请输入系数矩阵 A( + Str(i) + , + Str(j) + ):)Next jb(i) = Val(InputBox(请输入右端常数项 B( + Str(i) + ):)Next iFor i = 1 To nForj = 1 To nIf i j The nSum = 0For k = 1 To j - 1Sum = Sum +

24、l(i, k) * u(k, j)Next kl(i, j) = (a(i, j) - Sum) / u(j, j)ElseSum = 0For k = 1 To i - 1Sum = Sum + l(i, k) * u(k, j)Next ku(i, j) = a(i, j) - SumEnd IfNext jNext iFor i = 1 To nSum = 0For j = 1 To i - 1Sum = Sum + l(i, j) * y(j)Next jy(i) = b(i) - SumNext iFor i = n To 1 Step -1Sum = 0For j = i + 1

25、To nSum = Sum + u(i, j) * x(j)Next jx(i) = (y(i) - Sum) / u(i, i)Next iFor i = 1 To nPrin t x( + Str(i) + )=; x(i)Next iEnd Sub例:已知方程组,求Xi X2 X3的值2Xi+3X+4X=38Xi+7X+3X=655X+2X+ X3=33xC 1)= 3 nC z)= e x( 3)= 2i 三角分斛进 |4.4雅可比迭代法程序代码:Dim a(), b(), x0(), x()n = Val(lnputBox( 请输入方程个数 N:)ReDim a(n, n), b(n), x0(n), x(n)ep = Val(lnputBox(请输入误差限 EP:)nmax = Val(lnputBox( 请输入最大迭代次数Nmax:)For i = 1 To nForj = 1 To n+ ):)a(i, j) = Val(lnputBox( 请输入系数矩阵 A( + Str(i) + , + Str(j) Next jb(i) = Val(lnputBox( 请输入右端常数项 B( + Str(i) + ):)Next iFor i = 1 To nx0(i) = Val(lnputBox( 请输入初始解 X0(

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1