- 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文档。上传文档
查看更多
PAGE
PAGE 8
玉林师范学院
数学与信息科学学院
《计算方法与实习》课程论文
(2011—2012学年度第一学期)
姓名: 吴才华
专业: 信息与计算科学
班别: 信计09
年级: 2009级
学号: 200904404136
日期: 2011 年 12 月 30 日
方程求根的二分法
摘 要
传统的二分法的基本思想是:用对分区间的方法根绝分点处函数f(x)值的符号逐步将有根区间缩小,使在足够小的区间内,方程有且仅有一个跟。 通过每次把f(x)的零点所在小区间收缩一半的方法,使区间的两个端点逐步迫近函数的零点,以求得零点的近似值,每次运算后,区间长度减少一半。区间收缩一半的方法因为每次是收缩一半的方法,因每次变化的数值很大,这样对导致数值的精确度不够。这篇文章运用的是每次取区间的1/4, 每次运算后,区间长度减少1/4。对这样就可以在逼近的过程中,所得的值就更加接近真实值。
引言
非线性科学是当今科学发展的一个重要研究方向,非线性方程的求根也成为其中一个重要内容。一般而言,非线性方程的求根非常复杂。 在实际应用中有许多非线性方程的例子,例如
(1)在光的衍射理论(the theory of diffraction of light)中,需要求x-tanx=0的根
(2)在行星轨道( planetary orbits)的计算中,对任意的a和b,需要求x-asinx=b的根
(3)在数学中,需要求n次多项式的根。
非线性方程的一般形式
这里是单变量x 的函数,它可以是代数多项式
()
也可以是超越函数,即不能表示为上述形式的函数。满足方程 的x值通常叫做方程的根或解,也叫函数的零点。
2.算法理论
f(x)为[a,b]上的连续函数,若 f(a)·f(b)0,则[a,b]中至少有一个实根。如果f(x)在[a,b]上还是单调递增或递减的,则f(x)=0仅有一个实根。
3.算法模型
直接取区间[a,b]长度的1/4点 (b-a)/4,即用点x=a+(b-a)/4作为问题的近似解,那么我们可以估计出绝对误差限仅为区间长的1/4或是3/4,即e= a+(b-a)/4。如果这个结果能满足精度要求,我们就停???进一步的计算;如果不能,就求出f(x),结果只能是下面三种情况之一:
(1) f(a)·f(x)0,此时我们有x*∈[a,x];
(2) f(x)·f(b)0,此时我们有x*∈[x,b];
(3) f(x)=0,此时x即为问题的精确解。
在前两种情况下,我们可以用x分别替换原问题中的b或a,从而把求解的区间减小了一半。这样我们又可以取新区间[a,b]的1/4点。经过N次迭代后,剩下的区间长为(b- a)/4^n 。这也是结果的绝对误差限。如此继续下去就达到是有根区间逐步缩小的目的,在这一些相互包含的子区间中构造收敛的数列来逼近根 。
假设f(x)=0,在区间[a,b]中只有一个根,且满足f(a)f(b)0,则利用二分法构造求根过程为:
While(|a-b|eps)
x=a+(b-a)/4
计算f(x)
若(|f(x)|eps) 则 x为解
若f(x)*f(b)0 修正区间为[x,b]
若f(a)*f(x)0 修正区间为[a,x]
按上述步骤求根的方法称为二分法,若记做了k次二分区间处理得到的有根区间为,
5. 算法的数值实验结果
例: 求方程f(x)=x^3+x^2-3*x-3=0在1.5附近的根
我们可以取a=1,b=2.因为f(1)*f(2)0,由此我们可以知道该方程在区间[1,2],中有解。C=a+(b-a)/4,运用vc++,我们得到的结果如下:
6、算法的评价与小结
优点:就是不管含根区间[a , b]多大总能求出满足要求的根,且对函数的要求不高,计算简单;且区间[a,b]取得越近越容易求出。
缺点:不能求重根,其收敛速度在数列x越靠近根时越慢。二分法一般常用于为方程提供初始近似值当计算出的近似根比较准确时,再用其他方法对近似根做快速进一步精化
参考文献
附录
# includestdio.h
# includemath.h
# define eps 5e-6
# define delta 1e-6
float Bisection(float a,float b,float(*f)(float))
{
float c,fc,fa=(*f)(a),fb=(*f)(b);
int n=1;
pr
您可能关注的文档
最近下载
- 【总谱】LEGEND OF THE ANCIENT HERO(免费提供下载).pdf VIP
- 九年级英语完形填空专项练习(含答案和解析).doc VIP
- 考研完形填空专项练习(含答案).pptx VIP
- 南通大学《高等数学A(二)》2021-2022学年第二学期期末试卷.docx VIP
- D-Z-T 0073-2016 电阻率剖面法技术规程(正式版).docx VIP
- 柯达伊教学法在自然班级合唱教学中的实践应用——以《真善美的小世界》第二课时为例.pdf VIP
- D-Z-T 0070-2016 时间域激发极化法技术规程(正式版).docx VIP
- 文物藏品档案模板.doc VIP
- 大众通用APQP节点对照表.pdf VIP
- 土地流转解约合同模板8篇.docx VIP
文档评论(0)