浅谈计算机算法实现数学方程求根new.docVIP

浅谈计算机算法实现数学方程求根new.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅谈计算机算法实现数学方程求根new.doc

浅谈计算机算法实现数学方程求根 作者:王谦 一、前言 谈及经典数学理论很多读者都应该不会陌生,比如像是等式方程(组)的求解问题、数列求和问题、微积分的求值问题、集合问题、概论问题以及一些经典数学问题:哥尼斯堡七桥问题、海盗分金问题等等,这都是我们学生时代所熟知的。但是,本文所要谈的并不是关于以上这些数学问题是怎么样解决的,那是数学课上的内容。本文所要谈的是像上面的这些经典数学问题是如何用计算机实现的。说到这里可能有些读者要问了:计算机和经典数学有关系吗?这可是两个不同的学科噢!的确,要是十几年前人们很难把这两个学科联系在一起。但近几年,随着计算机的大众化以及计算机本身在数值计算方面的优势。使用计算机解决数学中一些计算量大,重复性高的经典问题已经成为各个研究机构所关注的问题了。由于,篇幅所限以及不需要叫读者了解更多数学知识本文只是对其中的一些简单易懂问题进行一下讲解。 用计算机解决数学问题,我们一般可以把它分为两大类,一类是数值计算类问题,另一类是非数值计算类问题。数值计算类问题主要涉及:函数计算、初(高)等方程求根、微积分求解、数论等;而非数值计算类问题主要涉及:初(高)等函数曲线拟合、图论等方面的数学问题。对于数值计算类问题我们通常使用计算机高级语言编程的方法求值,在这过程中我们会用到一些专门的计算机数值计算的算法。对于非数值计算类问题我们主要使用计算机辅助设计的方式,采用数学科学计算软件来绘制函数曲线图、拟合图谱。比较常用的软件有Matlab、Mathematica数学计算辅助软件。但无论是数值计算类也好非数值计算类也罢都遵循着相同的设计与应用过程。我们先来看一下下面的一个流程图: 图 1 上图揭示了利用计算机解决步骤,实际问题转换为程序,要经过一个对问题抽象的过程,建立起完善的数学模型,只有这样,我们才能建立一个设计良好的程序。从中我们不难看出解重要计算机相当庞杂的,。,我们通常使用的方法是使用一元二次求根公式计算出第一个根(解),再使用韦达定理计算出第二个根(解)。如果我们要是求高次方程的(根)解,例如:虽然也有四次方程的求根公式但计算起来是相当麻烦的。所以像这样的高次方程目前最主流的方法都是使用计算机近似辅助计算。但是,我们这里要明确的是用计算机辅助求得的解都是近似解,并非准确解。但这并不会影响我们对计算机解高次方程的热情,因为这样的近似解已经非常接近准确值了,我们完全就可以使用近似解去解决实际问题。 上面我们说到无论是数值计算或非数值计算,方法是必须的也是最重要的。因此高次方程的计算机求根(解)也要需要使用相关的计算方法来进行求根(解)。这种计算方法也叫做算法。这里我们只给大家介绍两种最常用的算法。 牛顿法 人们很早以前就开始探索高次方程的数值求解问题。这里我们即将要给大家介绍的第二种高次方程求解方法就是多年来人们探索出的最早的求解方法,它出自于牛顿 (Issac Newtom,1642-1727)的《流数法》一书中,书中给出了高次代数方程的数值解法——牛顿法。这种求方程根的方法,在科学界已被广泛采用。 下面,我们看看如何用牛顿法求方程 的根。 从函数的观点看,方程的根就是其相对应函数的函数值为零时的值。从图形上看,一个函数的取值为零的点就是在轴上那点(如图),即函数与轴的交点。只要求得函数曲线与轴的交点,那么这个交点在轴上的取值就是方程的一个根(解)。如图3所示: 图 2 如果可以找到一步一步逼近点的点,使得的值很小很小,即在x轴上做到与两点近乎重合。那么,我们就可以把的值作为的近似值,即把作为方程 = 0的近似解。 牛顿用“作切线”的方法(如下图3)找到了这一串.。最终最接近真实值当的那条切线与轴的交点就是所求方程的一个近似解。 首先我们要先找个初始点,比如 = 2。然后在点 处作的切线,切线与轴的交点就是;用代替重复上面的过程得到,一直继续下去,得到。从图形上我们可以看到,较接近 ,较接近等等。直到当的值小于我们初始设定误差时,我们取即为函数的一个解。 图 3 了解了牛顿法的基本原理,现在我们看看计算机是怎样实现牛顿法的。 牛顿法算法: 设 分别为区间的左右端点; 为极限误差;为初始值; 分别为处的函数值和导数值; 为以为初值经一次迭代后得到的改进值。 通过上面的算法我们举一个例子给大家具体看一下使用牛顿法具体求解的过程。 例:求方程的一个解。 即:求解函数函数值为零时的的值。 首先设定,设定所求方程解的函数区间,然后迭代算法:(其中 当 时,);最后当时,为原方程的一个解。 牛顿法虽然使用的最早而且一直以来还在不断地被完善,但是还是有一些缺点。最明显的是牛顿法收敛的速度很快,而初始点取的不好就可能造成不收敛找不到解,所以在计算时应该注意初始点的选取。就目前而言,还没有一个简便易

文档评论(0)

xinshengwencai + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5311233133000002

1亿VIP精品文档

相关文档