- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数值分析报大作业
班级:铁道 2 班 专业:道路与铁道工程 姓名:蔡敦锦 学号:、序言
该数值分析大作业是通过 C语言程序编程在Microsoft Visual C++ 6.0编程软 件上运行实现的。本来是打算用 Matlab 软间来计算非线性方程的根的。学习 Matlab 也差不多有一个多月了, 感觉自己编程做题应该没什么问题了; 但是当自 己真心的去编程、 运行时才发现有很多错误, 花了一天时间修改、 调试程序都没 能得到自己满意的结果。所以,我选择了自己比较熟悉的 C 程序语言来编程解 决非线性的求值问题, 由于本作业是为了比较几种方法求值问题的收敛速度和精 度的差异, 选择了一个相对常见的非线性函数来反映其差异, 程序运行所得结果 我个人比较满意。编写 C 语言,感觉比较上手,程序出现问题也能比较熟练的 解决。最终就决定上交一份 C 程序语言编程的求值程序了!
、选题
本作业的目的是为了加深对非线性方程求根方法的二分法、简单迭代法、 、
牛顿迭代法弦截法等的构造过程的理解;能将各种方法的算法描述正确并且能够 改编为程序并在计算机上实现程序的正确合理的运行,能得到自己满意的结果, 并且能调试修改程序中可能出现的问题和程序功能的增减修改。 本次程序是为了
比较各种方法在求解同一非线性方程根时,在收敛情况上的差异。
为了达到上面的条件我选择自己比较熟悉的语言一 C语言来编程,所选题目 为计算方程f(x)=x3-2x-5=0在区间[2,3]内其最后两近似值的差的绝对值小于等于 1 10 5的根的几种方法的比较。
本文将二分法、牛顿法、简单迭代法、弦截法及加速收敛法这五种方法在同 一个程序中以函数调用的方式来实现,比较简洁明了,所得结果能很好的比较, 便于分析;发现问题和得出结论。
三、程序运行结果
■■ CMsersVadu nj in\Deskto p^Debi g.ff i xi a ixingfa ngrhengq iuji eee
1,匸.回S3
5.62SAH
2.2 弭000
1.89N25
2.12S800
0.345703
2 ?師2500
-0.351318
2.0?3750
-0.008942
2 ?[阴 3?5
9.166636
2.1B15S3
0.078562
2.097656
0.034714
2 ■册畀03
3.012862
2.09472?
0.0B1954
2.074238
-9.0034V5
2.0^4492
-0.000771
2.094634
0.W0592
2.0*4543
-0.006096
2-094574
3.080251
2.094555
9.0681
2.074551
-0.008004
匚分苗驢方程根是個4皈
2.060039
2.891304
2.008030
2.311223
2.000000
2417035
2.mm
2.094831
2
2.094552
2.0圖邮9
2.074551
附脱魅求出的擁很是口畑2
2 .mm
2.0B0884
2.0AOO84
2.092351
2.072351
2.094217
2.094217
2?094501
2.094501
2.094544
2 ?册4544
2?B94550
譚训堆求册擁根是2刖倔
2.000008
2.094670
2.894570
2,094551
2 ?刖 4551
2.094552
廊收敬法求岀粧程根和厠4552
2.094251
-9.100006
2.即 4568
0.094251
2.094552
9.00031?
2 ■册 4552
-?.00@S16
-1-AINDM
B.00O0
四、分析及结论
由以上程序得出的结果可以看出此程序中加速收敛的收敛速度最快其次是 弦截法接下来是牛顿法、 简单迭代法、 二分法。下面来分析出现这种结果的理论 基础。
由数值分析知识可知, 加速收敛法的收敛速度、 弦截法和牛顿法都是二次收 敛,但是其收敛的迭代公式收敛的速度是有区别的, 加速收敛的迭代公式比弦截 法和牛顿法收敛的速度要快。 这也就解释了上述程序运行后在相同的初始值时加 速收敛法比牛顿法快了一倍的原因。 (加速收敛只需 3 次迭代就得到满足精度的 值,而牛顿迭代需要 6 次迭代) 。弦截法的收敛速度从其收敛公式上来看是没有 牛顿法的收敛速度快的, 但是其迭代的次数还和其选取的初始值有关, 弦截法需 要两个初始值, 这就必然使得其迭代的次数受到这两个初始值的影响, 初始值选 取的大小及合理与否直接影响其迭代的次数。 由程序运行的结果可以看出, 虽然 弦截法收敛速度比牛顿法慢, 但是由于初始值的影响其迭代次数明显比牛顿法的 次数少。
简单迭代的收敛速度和其迭代方程息息相关, 一般来
文档评论(0)