方程的数值解法.docx
《方程的数值解法.docx》由会员分享,可在线阅读,更多相关《方程的数值解法.docx(13页珍藏版)》请在冰豆网上搜索。
方程的数值解法
学科分类号110.6199
本科毕业论文
题目方程的数值解法
姓名谢相渝学号1006020540016
院(系)数学与计算机科学学院
专业数学与应用数学年级2010级
指导教师雍进军职称讲师
二〇一四年五月
贵州师范学院本科毕业论文诚信声明
本人郑重声明:
所呈交的本科毕业论文,是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议,除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品成果。
对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。
本人完全意识到本声明的法律结果由本人承担。
本科毕业论文作者签名:
年月日
摘要
在自然和工程技术中有很多的数学问题需要使用到各类方程进行计算解决,而如何解方程成为了解决这一系列问题的最基本且核心的内容,解各种类型方程的过程中又有有着许多优秀的数值方法。
本文就牛顿迭代法,二分法的解题原理进行研究,计算讨论它们,比较它们在解非线性方程的过程中的优缺点和实用性。
关键词:
非线性方程;近似解;牛顿迭代法;二分法
Abstract
Therearemanymathematicalproblemsneedtouseallkindsofequationsaresolvedinthenatureandengineeringtechnology,andhowtosolvetheequationtosolveaseriesofproblemsofthemostbasicandcorecontent,solutionprocessvarioustypesofequationsandhasmanyexcellentnumericalmethod.Thisiterativemethod,theproblemofcomputingprincipledichotomy,discussthem,makeitbecomethebridgetosolveengineeringproblems.
关键词:
方程;数值解法;迭代法;二分法
Keywords:
nonlinearequations;approximatesolution;iterativemethod;dichotomy
1绪论
1.1研究该问题目的及意义
随着科学技术的高速发展,科学家们在研究一些自然现象、社会和工程问题时会转化为各种各样的数学问题,而最终这些问题都能转化为求特定方程解的问题,例如非线性断裂问题,电路问题,电子系统等,都可以转化为求非线性方程。
如果我们将问题成功转化求方程,就可以通过各种不同的方法解出方程。
如何求出方程的解就成为了解决各类问题的基础依据和重点难题。
1.2本文的主要研究对象
本论文将从非线性方程入手,主要探讨牛顿迭代法,二分法两种求解非线性方程的问题,依据两种方法的不同,比较它们在解决方程上的优缺点。
2两种常用的数值解法
2.1非线性方程数值解法的基本思想
在求解方程的过程中,我们常常无法入手,其实这是对于方程理解不够深入,在经过逐步的分析判断后,找到一种合适的方法可以让我们快速的解方程。
所以有效选择正确的方法是首位,也是最重要的。
其次,确定方程的解法之后我们要做的是计算,通过缩小区间范围,搜索零点等步骤,在允许的误差范围内进行有限次的运算,公式的推导,检验结果,最终求得方程在该区间上的根。
当
是超越函数或者更高次多项式的时候,
称为非线性方程。
非线性方程除了个别特例外,多数只能求出他的近似解。
在实际问题中,常用到求解非线性方程的根。
方程
的根叫做
的零点。
通过连续函数的性质可以得知:
如果
在闭区间
上连续,并且
,那么
在
内至少有一个实根。
此时称
是方程
根的存在区间。
一般的求解非线性方程根是数值解法分为三个步骤:
1)判断根的存在性:
方程是否有根?
如果有,那么有几个根?
2)确定根的范围:
将每一个根利用区间分开,了解方程根的近似值大概位置。
3)将根精确化:
通过各种方法逐渐精确化方程的根,在区间内求出最终精确要求的根。
求解非线性方程的时候就需要用到常用的几种方法,如:
牛顿迭代法,二分法。
2.2Newton迭代法
2.2.1Newton迭代法的定义
因为在方程中,有许多方程不存在求根公式,因此我们想要得到一个方程的精确解很困难,甚至不能求出。
所以牛顿在17世纪提出的一种求解方程在实数域和复数域上近似解的方法,即Newton迭代法。
在多数的情况下,得不到一般数学方法的函数表达式,难以找到原函数。
所以线性方程的求解让人望而却步,往往因为计算量太大而无法有效计算,因此可以利用数值解法来求解。
牛顿迭代法就是方程的数值解法中一个重要的计算方法和思想。
2.2.2Newton迭代公式
Newton迭代法的主要思想是通过使用函数
的泰勒级数的前几项来寻找
的根。
假设r是
的根,估计一个初始值
作为r的初始值,过点
做曲线
的切线L,求出L与X轴交点坐标,把
记作r的一次近似解。
再通过点
做曲线
的切线,得到一个与X轴的交点
,称
是r的二次近似解。
重复上述过程依次求出
,
……
,得到一个r的近似值序列,其中的
称为r的n+1次近似值,上述称为牛顿迭代公式。
2.2.3Newton迭代法的优缺点
Newton迭代法最大的优点是在方程
的单根附近拥有平方收敛,并且它还可以用来求解方程的重根,复根。
能够快速的解出方程的解。
例如:
假设一个函数
,方程
在x=r处有一个根,我们先估计一个初始值
,在
处作该曲线的切线,并且将切线延长到与X轴相交。
那么切线与X轴相交的点通常很接近r,我们将它作为下一个估计值
,再次用同样的方法求出
处切线与X轴的交点作为
,依次类推,这样无限做下去,所得的X轴截距的序列就很接近与根r。
这样的方法既简便,又易懂,而且还能快速求出根。
并且随着当今计算机技术的飞速发展,可以通过各种软件更快速的计算出方程的根。
当然牛顿迭代法的缺点也很明显,因为每次迭代都是简单的重复运算,随着迭代次数的增加,迭代所需要的时间也会加长,在重根附近收敛速度会降阶,每次都要计算函数及其导数值,计算量大。
2.3二分法
2.3.1二分法的定义
二分法的是一种通过把方程的区间均分为两个区间,找出含有根的区间,将含有根的小区间再分成两个更小的区间,再进一步的通过根所在的区间将更小的区间再平均细分,如此反复下去,直至有根的区间足够的小,得出满足精度要求的近似值位置,选定它作为方程
的近似根的方法。
在例子中通过上述的过程,将二分法的具体计算过程演示如下
例1用二分法求方程
在区间[1,1.5]上的根,误差限制为
,问至少需要对分多少次?
解:
a=1,b=1.5,
;
k>
=
4.64
k=5
二分法的步骤主要分为:
1)求出
在有根区间
端点处的值
.
2)“二分”,在区间中点
处,计算
的值。
3)判断检验如果
,那么
就是方程的根。
如果
,就用
代替b,如果不是,那么
代替a。
反复步骤2,3,直到区间
长度满足误差
,
就是方程所求的近似根。
2.3.2二分法的优缺点
优点:
通过二分法解方程,能够快速的缩小零点所在的区间,即使区间再大,也能有效的进行计算,求出满足精度要求的根,并且对于方程的要求并不是很高,只需要函数连续就能进行简单计算。
它作为一种计算机时代重要的数学方法,为我们快速解决方程提供了便利。
缺点:
如果方程中出现多个零点的情况时,只能算出其中的一个,即使是
在
上有零点,也不一定有
。
无法用来求解方程有两次重根的近似解。
3Newton迭代法,二分法的比较
3.1Newton迭代法,二分法求解方程的比较
例2求方程12-3x+2cosx=0的实数解;
使用matlab程序分别通过编写牛顿迭代法和二分法求解方程,通过二者求解方程比较得出两种方法的区别。
实验程序见附录
实验数据结果和分析
表1牛顿迭代法程序结果
迭代次数
区间值:
b
区间值:
a
1
3.43828213866291
3.31995568160492
2
3.31995568160492
3.34836329704004
3
3.34836329704004
3.34741272048233
4
3.34741272048233
3.34740283960879
5
3.34741272048233
3.34740283960879
表2:
二分法程序结果
迭代次数
区间值:
a
区间值:
b
1
3.000000000000000
3.50000000000000
2
3.250000000000000
3.50000000000000
3
3.250000000000000
3.37500000000000
4
3.312500000000000
3.37500000000000
……
……
……
14
3.34735107421875
3.34741210937500
15
3.34738159179688
3.34741210937500
16
3.34739685058594
3.34741210937500
17
3.34739685058594
3.34740447998047
18
3.34739685058594
3.34740447998047
实验结论
通过表格1可以看出,在牛顿迭代法下,程序只迭代了4次以后和第5次的结果就一致,即程序迭代了4次达到了要求的实验误差。
通过表格2看出,在二分法下,程序迭代了17次后和第18次的结果才一致了,也就是说程序迭代了17次才达到实验的误差范围。
二者可以明显的比较看出牛顿迭代法的求解效率远远要优秀于二分法。
对于二分法和迭代法的观察和分析之后,我们知道了,二分法的优点是方法简单,编程比较容易,只是二分法只能用于求解方程的近似根,而不能用于求解方程的复根,并且收敛速度慢。
牛顿迭代法的收敛速度明显大于二分法。
总结
本文通过研究一种特殊的方程——非线性方程,讲述了解决非线性方程的主要思想,即通过判断方程根的存在性、锁定根的范围以及求出根后的精确化等步骤。
同时提出了牛顿迭代法以及二分法两种解非线性方程的特殊方法,描述了它们的基本定义,公式推理过程,举出例子加以斧正,总结归纳出它们各自的优缺点。
在分别对比了2种方法的优缺点之后再用2种方法分别计算同一个例题进行对比,通过计算结果可以明显的看出,在牛顿迭代法下,程序只需要进行4次计算以后就能得到满足实验误差的一致结果了,而二分法则是需要迭代到17次之后才能满足条件。
由此可以看牛顿迭代法与二分法的区别。
当然这并不代表二分法就不能够有效的解决非线性方程的求根问题,只是通过实验对比,较为直观的让我们感受到,在解决方程的过程中,我们应当分析选择出最适合的一种方法,既能省事又能省力。
参考文献
主要参考资料:
[1]杨一都.数值计算方法[M].北京:
高等教育出版社.2008.04
[2]朱远庚.数学分析(下)[M].西安市:
陕西师范大学出版社.1989.06:
276-285.
[3]王焕初.数字分析(下)[M].西安市:
西北工业大学出版社.1989.03:
136-152.
[4]韩明等.数学实验(MATLAB版)[M].同济大学出版社.2012.1.
[5]张奠宇,张广祥.中学代数研究[M].北京:
高等教育出版社.2006.
[6]李庆扬.非线性方程的数值解法[M].科学出版社,1987.
[7]李红,徐长发.数值分析学习辅导习题解析[M].武汉:
华中科技大学出版社,2005:
234-235,253-254,257-258,268270.
[8]何旭初,苏煜城,包雪松.计算数学简明教程[M].北京:
高等教育出版社,1986:
203-205.
[9]施吉林,刘淑珍,陈桂芝.计算机数值方法[M].北京:
高等教育出版社,003:
237-242,245-246.
[10]杨泮池,乔学军,林芳,等.计算方法要点与解题[M].西安:
西安交通大学出版社,2006:
23,24.
致谢
本篇论文的设计在雍进军老师的悉心指导和严格要求下业已完成,从课题选择、方案论证到具体设计和调试,无不凝聚着雍老师的心血和汗水,在四年的本科学习和生活期间,也始终感受着导师的精心指导和无私的关怀,我受益匪浅。
在此向雍进军老师表示深深的感谢和崇高的敬意。
不积跬步何以至千里,本设计能够顺利的完成,也归功于各位任课老师的认真负责,使我能够很好的掌握和运用专业知识,并在设计中得以体现。
正是有了他们的悉心帮助和支持,才使我的毕业论文工作顺利完成,在此向贵州师范学院,数学与计算机科学学院的全体老师表示由衷的谢意。
感谢他们四年来的辛勤栽培。
附录
(1)、牛顿迭代法程序:
(注释)
clear;%清除所有内存数据;
f=inline(’12-3*x+2*cos(x)’);
formatlong%数据显示格式设为长型;
b=3;a=4;k=0;%求解区间;
y0=f(b);y=f(a);
whileabs(b-a)>0.00001
t=a-y*(a-b)/(y-y0);%牛顿迭代法求解程序;
b=a;y0=y;
a=t;y=f(a);k=k+1;
disp([b,a]);k%显示各个区间值和求解次数;
end
disp([b,a]);%显示最后一个区间值;
(2)、二分法程序:
clear;%清除所有内存数据;f=inline(’12-3*x+2*cos(x)’);
formatlong%数据显示格式设为长型;
a=2;b=4;%求解区间;
er=b-a;ya=f(a);k=0;er0=0.00001;%误差分析;
whileer>er0
x0=5*(a+b);
y0=f(x0);
ifya*y0<0
b=x0;%二分法求解程序;
else
a=x0;
ya=y0;
end
disp([a,b]);er=b-a;k=k+1%显示各个区间和求解次数;
end
disp([a,b]);%显示最后一个区间值;