欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    一元高次方程数值解法C程序实现探讨.doc

    • 资源ID:2791857       资源大小:743.50KB        全文页数:15页
    • 资源格式: DOC        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    一元高次方程数值解法C程序实现探讨.doc

    精选优质文档-倾情为你奉上一元高次方程数值解法C程序实现探讨摘要   一元高次方程作为方程的一部分,对我们后续的学习起着相当重要的作用。求解一元高次方程的根在计算数学方面既是难点也是重点。关于一元高次方程,我们在中学阶段,已经掌握了一元二次方程的公式解法;一元三次方程和一元四次方称有一般解法,但是比较复杂,且超过了一般的知识范围;5次以及5次以上的代数方程,没有一般的公式解法。本文我们在了解了系数在有理数域且只有有理根的一元高次方程的解法技巧的基础上,通过回忆我们学过的一元二次方程根式解的方法,推敲了一元三次、四次方程的根式解;最后介绍了两种解高次方程数值解通用的两种方法:二分法、牛顿法。要求我们在了解一元二次方程的同时掌握一元三次及四次方程的根式解意义,理解用二分法及牛顿法解一元高次方程数值解法的思想及意义关键词: 高次方程, 二分法, 二分法,迭代Polynomial equations C program discussAbstractPolynomial equations as part of the equation, for our subsequent learning plays a very important role. Solving a polynomial equation root in computational mathematics is a difficult and key point.On polynomial equations, we in the stage of middle school, have mastered the two once basic quadratic equation formula solution; three once basic quadratic equation and a four power said that general solutions, but are more complex, and more than the general scope of knowledge; the 5and more than 5algebraic equation, no general formula solution,In this paper we understand the coefficients in the field of rational numbers and only the rational root of polynomial equations based on techniques, Through the memories we learned two once basic quadratic equation root solution method, the study of one dollar three times, four times radical solution; finally introduced two kinds of solution of equation of higher degree numerical solution of general by two methods: the dichotomy, the Newton-Raphson method. We know two once basic quadratic equation while master of one dollar three times and four times the radical solution of equation of meaning, understand the use of dichotomy and Newtons method for solving polynomial equations numerical solution of the thought and meaningKey words: Equation of higher degree, Dichotomy, Newton method, Iterative目录摘要1 绪论2 选题分析 2.1选题的研究现状 2.2选题的意义2.3论文的主要内容3 解方程 3.1 一元三次方程的根式解法3.3 二分法解一元高次方程3.4 牛顿法解一元高次方程参考文献致谢1.绪论整式方程未知数次数最高项次数高于2次的方程,称为高次方程。高次方程解法思想是通过适当的方法,把高次方程化为次数较低的方程求解。对于5次及以上的一元高次方程没有通用的代数解法和求根公式(即通过各项系数经过有限次四则运算和乘方和开方运算无法求解),这称为阿贝尔定理。 换句话说,只有三次和四次的高次方程可用根式求解。人类很早就掌握了的解法,但是对一元三次方程的研究,则是进展缓慢。、希腊和等地的数学家,都曾努力研究过一元三次方程,但是他们所发明的几种解法,都仅仅能够解决特殊形式的三次方程,对一般形式的三次方程就不适用了。在十六世纪的欧洲,随着数学的发展,一元三次方程也有了固定的求解方法。在很多数学文献上,把三次方程的求根公式称为“卡尔丹公式”。历史事实并不是这样,数学史上最早发现一元三次方程通式解的人,是十六世纪意大利的另一位数学家尼柯洛·冯塔纳。冯塔纳出身贫寒,少年丧父,家中也没有条件供他念书,但是他通过艰苦的努力,终于自学成才,成为十六世纪意大利最有成就的学者之一。由于冯塔纳患有“口吃”症,所以当时的人们昵称他为“”, 也就是语中“结巴”的意思。后来的很多数学书中,都直接用“塔尔塔里亚”来称呼冯塔纳。经过多年的探索和研究,冯塔纳利用十分巧妙的方法,找到了一般形式的求根方法。这个成就,使他在几次公开的数学较量中大获全胜,从此名扬。但是冯塔纳不愿意将他的这个重要发现公之于世,因为那个年代意大利盛行打数学,冯塔纳把他解三次方程的作为,是他获得比赛的胜利的宝剑。 当时的另一位意大利数学家兼医生卡尔丹,对冯塔纳的发现非常感兴趣。他几次诚恳地登门请教,希望获得冯塔纳的求根公式。可是冯塔纳始终守口如瓶,滴水不漏。虽然卡尔丹诺屡次受挫,但他极为执着,软磨硬泡地向冯塔纳“挖秘诀”。后来,冯塔纳终于用一种隐晦得如同咒语般的语言,把三次方程的解法“透露”给了卡尔丹。冯塔纳认为卡尔丹诺很难破解他的“咒语”,可是卡尔丹的悟性太棒了,他通过解三次方程的对比实践,很快就彻底破译了冯塔纳的秘密。卡尔丹把冯塔纳的三次方程求根公式,写进了自己的学术著作大法中,但并未提到冯塔纳的名字。随着大法在欧洲的出版发行,人们才了解到三次方程的一般求解方法。由于第一个发表三次方程求根公式的人确实是卡尔丹,因此后人就把这种求解方法称为“”,有的资料也称为“”。卡尔丹他人的学术成果,并且据为已有,这一行为在人类数学史上留下了不甚光彩的一页。这个结果,对于付出艰辛劳动的冯塔纳当然是不公平的。但是,冯塔纳坚持不公开他的研究成果,也不能算是正确的做法,起码对于人类科学发展而言,是一种不负责任的态度。 卡尔丹是第一个把负数写在二次内的数学家,并由此引进了的概念,后来经过许多数学家的努力,发展成了的理论。从这个意义上,卡尔丹公式对数学的发展作出了巨大贡献,史称卡尔丹公式是伟大的公式。 解一元三次方程问题是世界数学史上较著名且较为复杂而又有趣味的问题,虚数概念的引进、复数理论的建立,就是于解三次方程问题。一元三次方程应用广泛,如电力工程、水利工程、建筑工程、机械工程、动力工程、数学教学及其他领域等。用根号解一元三次方程,虽然有著名的卡尔丹公式,并有相应的判别法,但是使用卡尔丹公式解题比较复杂,缺乏性。80年代,中国的一名中学数学教师范盛金对解一元三次方程问题进行了深入的研究和探索,发明了比卡尔丹公式更实用的新求根公式盛金公式,并建立了简明的、直观的、实用的新判别法盛金判别法,同时提出了盛金定理,盛金定理清晰地回答了解三次方程的疑惑问题,且很有趣味。盛金公式的特点是由最简重根判别式A=b23ac;B=bc9ad;C=c23bd和总判别式=B24AC来构成,体现了数学的有序、对称、和谐与简洁美,简明易记、解题直观、准确高效,特别是当=B24AC=0时,盛金公式:X=b/a+K;X=X=K/2,其中K=B/A,(A0),其表达式非常漂亮,不存在开方(此时的卡尔丹公式仍存在),手算解题效率高。盛金公式被称为超级简便的公式。盛金公式与判别法及定理形成了一套完整的、简明的、实用的、具有数学美的解三次方程的理论,范盛金创造出的这套万能的系统方法,对研究解问题及提高解三次方程的效率作出了贡献。对于5次及以上的一元高次方程没有通用的解法和求根公式(即通过各项系数经过有限次四则运算和乘方和开方运算无法求解),这称为阿贝尔定理。2选题分析2.1 选题的研究现状整式方程中,如果未知数的最高次数高于2次,那么这种方程成为高次方程。一元三次方程和一元四次方称有一般解法,但是比较复杂,且超过了一般的知识范围。5次以及5次以上的代数方程,没有一般的公式解法,这已经有挪威青年数学家阿贝尔于1824年做出了证明。2.2 选题的意义一元高次方程作为方程的一部分,对我们后续的学习起着相当重要的作用。求解一元高次方程的根在计算数学方面既是难点也是重点。2.3 论文的主要内容一元高次方程作为方程的一部分,对我们后续的学习起着相当重要的作用。求解一元高次方程的根在计算数学方面既是难点也是重点,该论文我们通过回忆一元二次方程的根式解法来推敲一元三次、一元四次方程的根式解法,并在推敲后验证了得出来的根式解。继而我们探讨了二分法及牛顿法(切线法)解一元高次方程的思路,熟练掌握这两种方法的解题思想。 首先了解了系数在有理数域且只有有理根的一元高次方程的解法技巧;其次在一元二次方程根式解的基础上推敲了一元三次、四次方程的根式解;最后介绍了两种解高次方程数值解通用的两种方法:二分法、牛顿法。要求我们在了解一元二次方程的同时掌握一元三次及四次方程的根式解意义,理解用二分法及牛顿法解一元高次方程数值解法的思想及意3解方程3.1 一元三次方程的根式解法 首先,我们对一元二次方程进行新的解答,从新的解答中,我们受到启发,在对一元三次方程及一元四次方称求解。一、 一元二次方程的解对于一元二次方程 ax2+bx+c=0(a0)变形得 x2 + x + =0.令 y= x+; y- =x 代入上式,得+( y- )+=0整理得: -+ =0 (无一次项).故有 y= .于是得 x= ().二、 一元三次方程的解 对于一元三次方程 (), 变形得 令 y=x+ , x= y- 代入上式 . 整理得 +py + q=0 (1 ) 其中 p =, q=.若令 y= u+ v ;= (2)将(1)式 和)(2)式 对照可得: 根据韦达定理可求出 及 即可以求得u 和v 也就求得此方程的解x. 例:解方程 解:令x=y -=y+1 代入原方程 化简得: p=3 , q= 又令y=u+v; 令 = ,= ; 构成了一元二次方程的两个根。解得:=2=, =-= = =U = = =U =其中 U=- +i又uv = -=-1 (实数) 将, , ,进行配对得: 由此类推,对于实系数的一元四次方程 令x=y- 代入原方程进行求解 此解法对于一元五次方程没有效果,法国数学家伽罗瓦已经证明一元五次方程无根式解。 从上面例子可以看出,现代数学的很多知识可以通过初等数学中的某些简单的知识演变转化得到,他们之间有着密切的联系。3.2 二分法解一元高次方程二分法求解一元高次方程的基本思想是利用中间值理,即对于实系数一元次方程(x),如果a时,有f(a)·(b),则在区间(a,b)中,至少有方程(a)的一个根存在。具体做法是:先输入范围a,b的值,再求出()和(),若()·(),则重新输人,的值,直到()*()为止。然后求出和的中点()及()。若(),则即为方程的根,否则此时要判断()*()的符号:若,f()*f(),则方程的根应在,中,用代替,()代替f();若()*f(),则方程的根应在,中,用代替,f()代替f()。在新的区间,重复上述过程,由此得到一列区间,,其中后一区间都是前一区间长度的一半,区间的长度为,当n足够大的时候,使得足够小,我们即可取=作为方程f(x)=0的近似根。因为若设c为方程f(x)=0的近似根,则显然有,故成立,所以f()f(c)=0(n),由此推得二分法的可行性。如下图所示二分法是求实根的近似计算中行之有效的最简单的办法,它只要求函数是连续的即可,使用范围很广,且便于在计算机上实现。但是它不能求重根,也不能求虚根。下面给出用二分法求一元三次方程近似根的C语言程序。#include<math.h>main() float a,b,c,d;float ,;printf(“请输入方程系数a,b,c,d;”);scanf(“%f,%f,%f,%f”,&a,&b,&c,&d);doprintf(“请输入变量的有效范围,;”);scanf(“%f,%f”,&,&);=a*+b*+c*+d;if(=0)=;goto loop;=a*+b*+c*+d;if(=0)=;goto loopwhile(*>0);do=a*+b*+c*+d;if(=0) break;if(*<0)=;=else=;=;while(fabs()>=le-5);loop:printf(“x=%fn”, );下面运行程序看一下:请输入方程系数a,b,c,d:2,5,8,23请输入变量的有效范围,:-5,5方程的根x=-2.再运行一次:请输入方程系数a,b,c,d:3,5,9,1请输入变量的有效范围,:-4,5方程的根x=-0.下面运行程序求一下方程的根。根据一元三次方程根的判别式,此方程有三个不等的实根,我们从-4,4逐个取整数作为初值来试一下。请输入方程系数a,b,c,d:2,0,-24,18请输入变量的有效范围,:-4,4方程的根x=-3.再运行一次:请输入方程系数a,b,c,d:2,0,-24,18请输入变量的有效范围,:-3,4由于f(-3)*f(4)>0,故重新取值请输入变量的有效范围,:-2,4请输入变量的有效范围,:-1,4请输入变量的有效范围,:0,4请输入变量的有效范围,:1,4方程的根x=3.00000在运行一次:请输入方程系数a,b,c,d:2,0,-24,18请输入变量的有效范围,:2,4方程的根x=3.00000再运行一次:请输入方程系数a,b,c,d:2,0,-24,18请输入变量的有效范围,:-3,2方程的根x=0.到此我们求出了方程的所有三个实根3.3 用切线法解方程 先来看用切线法求解。切线法的基本思想是把一段不长的曲线弧用这段弧上某点处的切线来近似代替,如此反复,直到切线和弧线在轴上的交点的差的绝对值小于给定的小数为止。具体墩法是:先设定一个值作为第一次近似根,由求出f(),过(,f())点做f(x)的切线,交x轴于,将其作为第二次近似根,再由求出f(),过点(,f()),做f(x)的切线,交x轴于,将其作为第三次近似根,再由求出f(),过(,f())点再做f(x)的切线,如此继续下去,直到十分接近方程的根c为止,如下图所示: 由设定的容易得到,以为点(,f())处的切线方程是y-f()=*(x- ),令y=0,x=,即得=-。同理,计算时,即为=。所以,当知道之后,=-。上面有切线法得到的(n=1,2,3,),容易看出,他们无限逼近f(x)=0的根c(n)。事实上,由单调有界法则,故数列有极限,设其为,即(n),显然f(x)和都是连续函数,故由等式=-,得f()=*(),两端分别取n时的极限,当0时,即得=*(-),即=0;当=0时,显然f()=0,即=0,所以为方程f(x)=0的实根,但由于方程的实根是c,故=c,即(n)。进一步有等式=-,得-=,而出了之多两个值外,均不等于0,故要使f()0,只需足够小即可,所以,切线法是可行的。 一般情况下,的值可一有经验给出,但是为了避免取到=0的,也可以给一个取值范围a,b,使得f(a)*f(b)<0,且<0时,=a;>0时,=b.这样可以放心的求出方程的一个根下面给出切线法求一元三次方程(a0)近似根的C程序#include<math.h>Main()float a,b,c,d;float ,;printf(“a,b,c,d”);scanf(“%f,%f,%f,%f”,&a,&b,&c,&d);loop:scanf(“x=”);scanf(“%f”,&);do= ;=a*+b*+c*+d;if(=0)break;=3*a*+2*b*+c;if(=0) goto loop;=-;While(fabs(-)>=le-6;printf(“x=%fn”, );下面运行程序求一下方程的根。根据一元三次方程根的判别式,此方程有三个不等的实根,我们从-3,3逐个取整数作为初值来试一下。请输入方程系数a,b,c,d:2,0,-24,18请输入变量的初值x= -3方程的根x=-3.再运行一次:请输入方程系数a,b,c,d:2,0,-24,18请输入变量的初值x= -2由于=0,取下一个x;请输入变量的初值x= -1方程的根x=0.再运行一次:请输入方程系数a,b,c,d:2,0,-24,18请输入变量的初值x= 0方程的根x=0.在运行一次:请输入方程系数a,b,c,d:2,0,-24,18请输入变量的初值x= 1方程的根为x=0.在运行一次:请输入方程系数a,b,c,d:2,0,-24,18请输入变量的初值x= 2此时=0,所以取下一个变量的值,请输入变量的初值x= 3方程的根x=3.00000到此,我们已经求出了方程的所有的三个实根。 比较切线法和二分法的程序,各有所长和不足。切线法不需要给出变量的范围,只要给出变量初值即可,运行速度较快,但由于要利用函数的导数,有可能使公式中分母的导数值为零,此时需要重新输入新的变量值。而二分法只需要函数连续即可只要两端点的函数值异号,就可求出方程的根,但由于要给出变量的范围,故运行速度较切线法稍慢。通过观察还可以看出,这两种方法的程序,当多定义几个方程中各次项的系数。改变一下函数的形式,稍加修改后,即可成为求一茹四次方程、一元五次方程,甚至一元次方程根的程序,因此有一定的代表性和实用性。 参考文献1王涛.高次方程的解法J.湖南:长沙民政职业技术学院学报,2004.2 李庆扬,王能超,易大义.数值分析M.北京:清华大学出版社,2008.3 谭浩强,程序设计题解与上机指导【北京:清华大学出版社,20004王萼芳,石生明.高等代数M.北京:高等教育出版社,2003.5白峰杉.数值分析引论M.北京:高等教育出版社,2004.6冯康.数值计算方法M.北京:国际工业出版社,1978.7 Saad Y.Numerical methods for large eigenvalue problems.New York: John Wiley,1992.8 Brigham E O.The Fast Fourier transform and its applications.Englewood Cliffs: Prentice Hall,NJ,1988.致谢四年的读书生活在这个季节即将划上一个句号,而于我的人生却只是一个逗号,我将面对又一次征程的开始。四年的求学生涯在师长、亲友的大力支持下,走得辛苦却也收获满囊,在论文即将付梓之际,思绪万千,心情久久不能平静。 伟人、名人为我所崇拜,可是我更急切地要把我的敬意和赞美献给一位平凡的人,我的导师。我不是您最出色的学生,而您却是我最尊敬的老师。您治学严谨,学识渊博,思想深邃,视野雄阔,为我营造了一种良好的精神氛围。授人以鱼不如授人以渔,置身其间,耳濡目染,潜移默化,使我不仅接受了全新的思想观念,树立了宏伟的学术目标,领会了基本的思考方式,从论文题目的选定到论文写作的指导,经由您悉心的点拨,再经思考后的领悟,常常让我有“山重水复疑无路,柳暗花明又一村”。感谢我的爸爸妈妈,焉得谖草,言树之背,养育之恩,无以回报,你们永远健康快乐是我最大的心愿。在论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚谢意!同时也感谢学院为我提供良好的做毕业设计的环境。最后再一次感谢所有在毕业设计中曾经帮助过我的良师益友和同学,以及在设计中被我或参考的论著的作者。专心-专注-专业

    注意事项

    本文(一元高次方程数值解法C程序实现探讨.doc)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开