- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算方法实验报告
一元三次方程求解C语言编程
机械工程及自动化学院
机械电子系
学 号 :
姓 名 :
电 话 :
Email :
指导教师:
2016年 5月 26 日
目录
TOC \o 1-3 \h \z \u 1 实验目的 5
2 实验内容 5
2.1 作业要求 5
2.2 任务分工 6
3 软硬件条件介绍 6
3.1软件条件 6
3.2 硬件条件 7
4 实验步骤 7
4.1 问题分析 7
4.1.1 利用求根公式 7
4.1.2 利用牛顿迭代法 8
4.2 程序流程图 10
4.2.1盛金公式法流程图 10
4.2.2 牛顿迭代法流程图 11
4.3算法设计 12
4.3.1 主程序 12
4.3.2 盛金公式法的求根算法 12
4.3.2 牛顿迭代法的求根算法 15
4.4测试规划及测试结果 21
4.4.1测试规划 21
4.4.2 小规模手动测试情况 22
4.4.3 大规模自动测试情况 23
5 实验结果 25
6 实验总结 26
1 实验目的
我们都知道,在研究一个算法时,有两个问题是很重要的:一是计算所用的时间,我们要求在尽量短的时间里得出我们想要的结果;二是计算结果的准确性,在研究算法的时候我们必须注重计算结果所能够得到的有效数字的位数。
一元三次方程有确定的求根公式,但是其求根公式较为复杂,电子计算机在进行计算时,运用求根公式进行求解往往会引进比较大的误差,降低有效数字的位数,例如对一个含有十位有效数字的数进行开根号,得到的计算结果只会有五位,大大降低了有效数字的位数,于是在电子计算机进行计算的过程中,往往不采用求根公式直接进行求解,而是采用二分法或者迭代法等方法,进行近似求解,在保证运算时间的同时,得到我们所需要的有效数字结果。
在本实验中,就是要通过采用求根公式和牛顿迭代法进行对比求解,对比二者在一些极限情况下所得到结果,然后将结果进行回代,以验证计算结果的准确性,从而比较出两种求解方法的好坏。
通过本实验,进一步熟悉算法在计算机进行计算中的重要性,培养优化算法的习惯,同时加深对计算方法这门课程的理解。
2 实验内容
2.1 作业要求
求解一元三次方程,要求利用求根公式与迭代法。实现如下函数:int SolveCubicEquation(double cs[4], double tol, double tolx, double xs[3]) // 返回解的个数, cs数组保存方程的系数, cs[3]*x^3+cs[2]*x^2+cs[1]*x+cs[5]=0, xs数组保存方程的解, 容差tol用于判断是否是解,容差tolx判断是否有重根。
作业基本要求:
(1)实现一种通用的算法;
(2)给出公式推导、理论分析;
(3)设计算法流程图;
(4)用C语言实现;
(5)有详细的测试、对比和分析;
(6)有明确的结论。
2.2 任务分工
耿家新:负责相关资料的收集和整理
王世强:负责程序的编写和测试,实验报告主要部分的撰写
马小山:负责实验报告的细化和编辑
3 软硬件条件介绍
3.1软件条件
本实验软件上采用的是Microsoft Visual C++ 6.0。
Microsoft Visual C++ 6.0,简称VC6.0,是微软推出的一款C++编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序。Visual C++是一个功能强大的可视化软件开发工具。自1993年Microsoft公司推出Visual C++1.0后,随着其新版本的不断问世,Visual C++已成为专业程序员进行软件开发的首选工具。虽然微软公司推出了 Visual C++.NET(Visual C++7.0),但它的应用的很大的局限性,只适用于Windows 2000、Windows XP和Windows NT4.0。所以实际中,更多的是以Visual C++6.0为平台。Visual C++6.0不仅是一个C++ 编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。Visual C++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。 这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。
3.2 硬件条件
硬件上我们采用的
您可能关注的文档
最近下载
- 2024年陕西省中考生物试题(含解析).pdf VIP
- 2023年天津化学会考试卷.pdf VIP
- 广西宝坛地区铜镍硫化物矿石982_省略_Re_Os同位素年龄及其地质意义_毛景文.pdf VIP
- 专业调研报告(工业机器人技术专业).pdf
- 管理学(北师大)中国大学MOOC慕课 章节测验 客观题答案.docx
- 小暑24节气ppt模板.pptx
- 安利股份:2023年度业绩预告.pdf VIP
- 常见疾病康复:挛缩的康复.pptx VIP
- 浅谈数学如何提高学生计算能力的方法研究-来源:文理导航(教育研究与实践)(第2020009期)-内蒙古自治区北方文化研究院.pdf VIP
- 某上市公司珠海旧改项目前期服务协议.docx VIP
文档评论(0)