一元高次方程数值解法C程序实现探讨_第1页
一元高次方程数值解法C程序实现探讨_第2页
一元高次方程数值解法C程序实现探讨_第3页
一元高次方程数值解法C程序实现探讨_第4页
一元高次方程数值解法C程序实现探讨_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一元高次方程数值解法C程序实现探讨摘要   一元高次方程作为方程的一部分,对我们后续的学习起着相当重要的作用。求解一元高次方程的根在计算数学方面既是难点也是重点。关于一元高次方程,我们在中学阶段,已经掌握了一元二次方程的公式解法;一元三次方程和一元四次方称有一般解法,但是比较复杂,且超过了一般的知识范围;5次以及5次以上的代数方程,没有一般的公式解法。本文我们在了解了系数在有理数域且只有有理根的一元高次方程的解法技巧的基础上,通过回忆我们学过的一元二次方程根式解的方法,推敲了一元三次、四次方程的根式解;最后介绍了两种解高次方程数值解通用的两种方法:二分法、牛顿法。要求我们在了解一元二

2、次方程的同时掌握一元三次及四次方程的根式解意义,理解用二分法及牛顿法解一元高次方程数值解法的思想及意义关键词: 高次方程, 二分法, 二分法,迭代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

3、 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 5a

4、nd 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,

5、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 t

6、imes 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选题的意

7、义2.3论文的主要内容3 解方程 3.1 一元三次方程的根式解法3.3 二分法解一元高次方程3.4 牛顿法解一元高次方程参考文献致谢1.绪论整式方程未知数次数最高项次数高于2次的方程,称为高次方程。高次方程解法思想是通过适当的方法,把高次方程化为次数较低的方程求解。对于5次及以上的一元高次方程没有通用的代数解法和求根公式(即通过各项系数经过有限次四则运算和乘方和开方运算无法求解),这称为阿贝尔定理。 换句话说,只有三次和四次的高次方程可用根式求解。人类很早就掌握了一元二次方程的解法,但是对一元三次方程的研究,则是进展缓慢。古代中国、希腊和印度等地的数学家,都曾努力研究过一元三次方程,但是他们所

8、发明的几种解法,都仅仅能够解决特殊形式的三次方程,对一般形式的三次方程就不适用了。在十六世纪的欧洲,随着数学的发展,一元三次方程也有了固定的求解方法。在很多数学文献上,把三次方程的求根公式称为“卡尔丹公式”。历史事实并不是这样,数学史上最早发现一元三次方程通式解的人,是十六世纪意大利的另一位数学家尼柯洛·冯塔纳。冯塔纳出身贫寒,少年丧父,家中也没有条件供他念书,但是他通过艰苦的努力,终于自学成才,成为十六世纪意大利最有成就的学者之一。由于冯塔纳患有“口吃”症,所以当时的人们昵称他为“塔塔里亚”, 也就是意大利语中“结巴”的意思。后来的很多数学书中,都直接用“塔尔塔里亚”来称呼冯塔纳。

9、经过多年的探索和研究,冯塔纳利用十分巧妙的方法,找到了一元三次方程一般形式的求根方法。这个成就,使他在几次公开的数学较量中大获全胜,从此名扬欧洲。但是冯塔纳不愿意将他的这个重要发现公之于世,因为那个年代意大利盛行打数学擂台赛,冯塔纳把他解三次方程的秘诀作为法宝,是他获得比赛的胜利的宝剑。 当时的另一位意大利数学家兼医生卡尔丹,对冯塔纳的发现非常感兴趣。他几次诚恳地登门请教,希望获得冯塔纳的求根公式。可是冯塔纳始终守口如瓶,滴水不漏。虽然卡尔丹诺屡次受挫,但他极为执着,软磨硬泡地向冯塔纳“挖秘诀”。后来,冯塔纳终于用一种隐晦得如同咒语般的语言,把三次方程的解法“透露”给了卡尔丹。冯塔纳认为卡尔丹

10、诺很难破解他的“咒语”,可是卡尔丹的悟性太棒了,他通过解三次方程的对比实践,很快就彻底破译了冯塔纳的秘密。卡尔丹把冯塔纳的三次方程求根公式,写进了自己的学术著作大法中,但并未提到冯塔纳的名字。随着大法在欧洲的出版发行,人们才了解到三次方程的一般求解方法。由于第一个发表三次方程求根公式的人确实是卡尔丹,因此后人就把这种求解方法称为“卡尔丹公式”,有的资料也称为“卡丹公式”。卡尔丹剽窃他人的学术成果,并且据为已有,这一行为在人类数学史上留下了不甚光彩的一页。这个结果,对于付出艰辛劳动的冯塔纳当然是不公平的。但是,冯塔纳坚持不公开他的研究成果,也不能算是正确的做法,起码对于人类科学发展而言,是一种不

11、负责任的态度。 卡尔丹是第一个把负数写在二次根号内的数学家,并由此引进了虚数的概念,后来经过许多数学家的努力,发展成了复数的理论。从这个意义上,卡尔丹公式对数学的发展作出了巨大贡献,史称卡尔丹公式是伟大的公式。 解一元三次方程问题是世界数学史上较著名且较为复杂而又有趣味的问题,虚数概念的引进、复数理论的建立,就是起源于解三次方程问题。一元三次方程应用广泛,如电力工程、水利工程、建筑工程、机械工程、动力工程、数学教学及其他领域等。用根号解一元三次方程,虽然有著名的卡尔丹公式,并有相应的判别法,但是使用卡尔丹公式解题比较复杂,缺乏直观性。80年代,中国的一名中学数学教师范盛金对解一元三次方程问题进

12、行了深入的研究和探索,发明了比卡尔丹公式更实用的新求根公式盛金公式,并建立了简明的、直观的、实用的新判别法盛金判别法,同时提出了盛金定理,盛金定理清晰地回答了解三次方程的疑惑问题,且很有趣味。盛金公式的特点是由最简重根判别式A=b23ac;B=bc9ad;C=c23bd和总判别式=B24AC来构成,体现了数学的有序、对称、和谐与简洁美,简明易记、解题直观、准确高效,特别是当=B24AC=0时,盛金公式:X=b/a+K;X=X=K/2,其中K=B/A,(A0),其表达式非常漂亮,不存在开方(此时的卡尔丹公式仍存在开立方),手算解题效率高。盛金公式被称为超级简便的公式。盛金公式与判别法及定理形成了

13、一套完整的、简明的、实用的、具有数学美的解三次方程的理论体系,范盛金创造出的这套万能的系统方法,对研究解高次方程问题及提高解三次方程的效率作出了贡献。对于5次及以上的一元高次方程没有通用的代数解法和求根公式(即通过各项系数经过有限次四则运算和乘方和开方运算无法求解),这称为阿贝尔定理。2选题分析2.1 选题的研究现状整式方程中,如果未知数的最高次数高于2次,那么这种方程成为高次方程。一元三次方程和一元四次方称有一般解法,但是比较复杂,且超过了一般的知识范围。5次以及5次以上的代数方程,没有一般的公式解法,这已经有挪威青年数学家阿贝尔于1824年做出了证明。2.2 选题的意义一元高次方程作为方程

14、的一部分,对我们后续的学习起着相当重要的作用。求解一元高次方程的根在计算数学方面既是难点也是重点。2.3 论文的主要内容一元高次方程作为方程的一部分,对我们后续的学习起着相当重要的作用。求解一元高次方程的根在计算数学方面既是难点也是重点,该论文我们通过回忆一元二次方程的根式解法来推敲一元三次、一元四次方程的根式解法,并在推敲后验证了得出来的根式解。继而我们探讨了二分法及牛顿法(切线法)解一元高次方程的思路,熟练掌握这两种方法的解题思想。 首先了解了系数在有理数域且只有有理根的一元高次方程的解法技巧;其次在一元二次方程根式解的基础上推敲了一元三次、四次方程的根式解;最后介绍了两种解高次方程数值解

15、通用的两种方法:二分法、牛顿法。要求我们在了解一元二次方程的同时掌握一元三次及四次方程的根式解意义,理解用二分法及牛顿法解一元高次方程数值解法的思想及意3解方程3.1 一元三次方程的根式解法 首先,我们对一元二次方程进行新的解答,从新的解答中,我们受到启发,在对一元三次方程及一元四次方称求解。一、 一元二次方程的解对于一元二次方程 ax2+bx+c=0(a0)变形得 x2 + x + =0.令 y= x+; y- =x 代入上式,得+( y- )+=0整理得: -+ =0 (无一次项).故有 y= .于是得 x= ().二、 一元三次方程的解 对于一元三次方程 (), 变形得 令 y=x+ ,

16、 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- 代入原方程进行求解 此解法对于一元五次方程没有效果,法国

17、数学家伽罗瓦已经证明一元五次方程无根式解。 从上面例子可以看出,现代数学的很多知识可以通过初等数学中的某些简单的知识演变转化得到,他们之间有着密切的联系。3.2 二分法解一元高次方程二分法求解一元高次方程的基本思想是利用中间值理,即对于实系数一元次方程(x),如果a时,有f(a)·(b),则在区间(a,b)中,至少有方程(a)的一个根存在。具体做法是:先输入范围a,b的值,再求出()和(),若()·(),则重新输人,的值,直到()*()为止。然后求出和的中点()及()。若(),则即为方程的根,否则此时要判断()*()的符号:若,f()*f(),则方程的根应在,中,用代替,(

18、)代替f();若()*f(),则方程的根应在,中,用代替,f()代替f()。在新的区间,重复上述过程,由此得到一列区间,,其中后一区间都是前一区间长度的一半,区间的长度为,当n足够大的时候,使得足够小,我们即可取=作为方程f(x)=0的近似根。因为若设c为方程f(x)=0的近似根,则显然有,故成立,所以f()f(c)=0(n),由此推得二分法的可行性。如下图所示二分法是求实根的近似计算中行之有效的最简单的办法,它只要求函数是连续的即可,使用范围很广,且便于在计算机上实现。但是它不能求重根,也不能求虚根。下面给出用二分法求一元三次方程近似根的C语言程序。#include<math.h>

19、;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)

20、;loop:printf(“x=%fn”, );下面运行程序看一下:请输入方程系数a,b,c,d:2,5,8,23请输入变量的有效范围,:-5,5方程的根x=-2.636943再运行一次:请输入方程系数a,b,c,d:3,5,9,1请输入变量的有效范围,:-4,5方程的根x=-0.118339下面运行程序求一下方程的根。根据一元三次方程根的判别式,此方程有三个不等的实根,我们从-4,4逐个取整数作为初值来试一下。请输入方程系数a,b,c,d:2,0,-24,18请输入变量的有效范围,:-4,4方程的根x=-3.791288再运行一次:请输入方程系数a,b,c,d:2,0,-24,18请输入变量

21、的有效范围,:-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.7912888到此我们求出了方程的所有三个实根3.3 用切线法解方程 先来看用切线法求解。切线法的基本思想是把一段不长的曲线弧用这段弧上某点处的切线来近似

22、代替,如此反复,直到切线和弧线在轴上的交点的差的绝对值小于给定的小数为止。具体墩法是:先设定一个值作为第一次近似根,由求出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

23、(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.这样可以放心的求出方程的一个

24、根下面给出切线法求一元三次方程(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”, );下面运行程序求一下方程的根。根据一元三

25、次方程根的判别式,此方程有三个不等的实根,我们从-3,3逐个取整数作为初值来试一下。请输入方程系数a,b,c,d:2,0,-24,18请输入变量的初值x= -3方程的根x=-3.791288再运行一次:请输入方程系数a,b,c,d:2,0,-24,18请输入变量的初值x= -2由于=0,取下一个x;请输入变量的初值x= -1方程的根x=0.791288再运行一次:请输入方程系数a,b,c,d:2,0,-24,18请输入变量的初值x= 0方程的根x=0.791288在运行一次:请输入方程系数a,b,c,d:2,0,-24,18请输入变量的初值x= 1方程的根为x=0.791288在运行一次:请输

26、入方程系数a,b,c,d:2,0,-24,18请输入变量的初值x= 2此时=0,所以取下一个变量的值,请输入变量的初值x= 3方程的根x=3.00000到此,我们已经求出了方程的所有的三个实根。 比较切线法和二分法的程序,各有所长和不足。切线法不需要给出变量的范围,只要给出变量初值即可,运行速度较快,但由于要利用函数的导数,有可能使公式中分母的导数值为零,此时需要重新输入新的变量值。而二分法只需要函数连续即可只要两端点的函数值异号,就可求出方程的根,但由于要给出变量的范围,故运行速度较切线法稍慢。通过观察还可以看出,这两种方法的程序,当多定义几个方程中各次项的系数。改变一下函数的形式,稍加修改后,即可成为求一茹四次方程、一元五次方程,甚至一元次方程根的程序,因此有一定的代表性和实用性。 参考文献1王涛.高次方程的解法J.湖南

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论