二分法求解单变量非线性方程及其应用与实现(精)
- 格式:doc
- 大小:38.50 KB
- 文档页数:8
二分法实验(1)上机题目:二分法的应用实验目的:熟悉二分法并在计算机上实现实验要求:①上机前充分准备,复习有关内容,写出计算步骤,查对程序;②完成实验后写出完整的实验报告,内容应该包括:所用的算法语言,算法步骤陈述,变量说明,程序清单,输出计算结果,结果分析等等;③用编好的程序在Matlab 环境中执行。
算法说明:①找出 计算f(x)在有限根区间[a, b]端点的值,f(a),f(b)②计算 计算f(x)在区间中点(2b a +)处的值f(2b a +) . ③判断 若f(2b a +)=0,则2b a +即是根,计算过程结束,否则检验若(2b a +)f(a)<0,则以2b a +代替b,否则以2b a +代替a.反复执行步骤②和步骤③,直到区间[a, b]长度小于允许误差ξ,此时中点2b a +即为所求近似根。
计算例题:求f (x )=x 3- x -1在[1,1.5]的零点. f (1)<0,. f (1.5)>0,delta= d=106-不动点迭代法实验⑵上机题目:不动点迭代法的实现实验目的:熟悉迭代法并在计算机上实现实验要求:①上机前充分准备,复习有关内容,写出计算步骤,查对程序;②完成实验后写出完整的实验报告,内容应该包括:所用的算法语言,算法步骤陈述,变量说明,程序清单,输出计算结果,结果分析等等;③用编好的程序在Matlab 环境中执行。
算法说明:①准备 将0)(=x f 改写为等价的形式)(x x ϕ=。
若要求*x 满足0)(*=x f ,则)(**x x ϕ=;反之亦然。
求)(x f 的零点,等价于求的不动点,选择一个初始近似值0x 代入)(x x ϕ=右端,得)(01x x ϕ=。
如此反复迭代计算⋯==+,1,0),(1k x x k k ϕ,此为迭代公式。
②不动点的存在性迭代法的收敛性定理1 设],[)(b a C x ∈ϕ满足:(1)对任意],[b a x ∈有b x a ≤≤)(ϕ;(2)存在正常数L<1,使对任意],[,b a y x ∈都有|||)()(|y x L y x -≤-ϕϕ,则)(x ϕ在],[b a 上存在唯一不动点*x 。
第七章非线性方程解法⒈二分法考察有根区间[a, b],取中点x0=(b+a)/2 将它分为两半,假设中点x0不是f(x)的零点,然后进行根的搜索,即查找f(x0)与f(a)是否同号,如果确系同号,说明所求的根x*在x0的右侧,这是令a1= x0,b1=b;否则x*必在x0的左侧,这是令a1=a,b1=x0,不管出现哪一种情况,新的有根区间[a1, b1]的长度仅为[a, b]的一半。
.重复以上做法得新近似根x1,…这样不断将区间分半,得到一系列区间[an , bn],和近似根(区间中点)nx,n=0,1,2,3…,nx误差为(b-a)/2n+1.这样的方法称为二分法。
下面是一个关于二分法的例子。
例1求f(x)=x3- x-1=0在区间[1,1.5]内的一个实根,要求准确到小数点后的第二位.这里a=1,b=1.5,而f(a)<0,f(b)>0。
取[a,b]的中点x0=1.25,将区间二等分,由于f(x0 )<0, 既f(x0 )与f(a)同号,故所求的根x*必在x0 右侧,这是应令a1=x0 =1.25, b1=b=1.5,而得到新的有根区间[a1,b1],这样继续结果如下表:x6.实际上x5就有三位有效数字了.二分法实验(1)上机题目:二分法的应用实验目的:熟悉二分法并在计算机上实现实验要求:①上机前充分准备,复习有关内容,写出计算步骤,查对程序;②完成实验后写出完整的实验报告,内容应该包括:所用的算法语言,算法步骤陈述,变量说明,程序清单,输出计算结果,结果分析等等;③用编好的程序在Matlab环境中执行。
算法说明:①找出计算f(x)在有限根区间[a, b]端点的值,f(a),f(b)②计算计算f(x)在区间中点(2ba+)处的值f(2ba+) .③判断若f(2ba+)=0,则2ba+即是根,计算过程结束,否则检验若f(2ba+)f(a)<0,则以2ba+代替b,否则以2ba+代替a.反复执行步骤②和步骤③,直到区间[a, b]长度小于允许误差ξ,此时中点2ba+即为所求近似根。
1、编程实现以下科学计算算法,并举一例应用之(参考书籍《精通MATLAB 科学计算》,王正林等编著,电子工业出版社,2009年) “二分法非线性方程求解”二分法的具体求解步骤如下。
(1)计算函数f(x)在区间[a,b]中点的函数值f((a+b)/2),并作下面的判断: 如果0)2()(<+ba f a f ,转到(2); 如果0)2()(>+b a f a f ,令 2ba a +=,转到(1); 如果 0)2()(=+b a f a f ,则 2ba x +=为一个跟。
(2)如果 ε<+-|2|b a a (ε为预先给定的精度),则43ab x +=为一个根,否则令2ba b +=,转到(1)。
在MATLAB 中编程实现的二分法函数为:HalfInterval 。
功能:用二分法求函数在某个区间上的一个零点。
调用格式:root=HalfInterval(f,a,b,eps). 其中,f 函数名; a 为区间左端点; b 为区间右端点;eps 为根的精度; root 为求出的函数零点。
二分法的MATLAB 程序代码如下:function root=HalfInterval(f,a,b,eps) %二分法求函数f 在区间[a,b]上的一个零点 %函数名:f %区间左端点:a %区间右端点:b %根的精度:eps %求出的函数零点:root if (nargin==3) eps=1.0e-4;endf1=subs(sym(f),findsym(sym(f)),a); %两端点的函数值f2=subs(sym(f),findsym(sym(f)),b);if(f1==0)root=a;endif(f2==0)root=b;endif(f1*f2>0)disp('两端点函数值乘积大于0!');return;elseroot=FindRoots(f,a,b,eps); %调用求解子程序endfunction r=FindRoots(f,a,b,eps)f_1=subs(sym(f),findsym(sym(f)),a);f_2=subs(sym(f),findsym(sym(f)),b);mf=subs(sym(f),findsym(sym(f)),(a+b)/2); %中点函数值if(f-1*mf>0)t=(a+b)/2;r=FindRoots(f,t,b,eps); %右递归elseif(f_1*mf==o)r=(a+b)/2;elseif(abs(b-a)<=eps)r=(b+3*a)/4; %输出根elses=(a+b)/2;r=FindRooots(f,a,b,eps); %左递归endendend流程图:实例应用:采用二分法求方程0133=+-x x 在区间[0,1]上的一个根。
非线性方程的数值解法中的二分法
二分法,又称秦九韶算法,是一种用来求解非线性方程的有效的数值解法。
它可以有效地将一个不确定的区间划分为两个不相交的子区间,其中一个至少包含方程的一个根,而另一个不包含根,这样重复地使用子区间,就可以缩小包含根的子区间从而求出根。
它具有准确性好、计算量小、理论考虑简单等优点。
因此,二分法逐渐得到了在互联网科技领域的广泛应用,受到了更多关注。
作为一种基础性的数学算法,二分法的基本原理是将一个不确定的区间分成两个相等的小区间,其中一个必定包含方程的一个根,而另一个肯定不包含根,然后针对这两个相邻区间,不断求解,直到最后已经求出根为止。
具体地说,在给定一个区间[a,b],要求函数f (x)在[a,b]内存在唯一根r,根据贴合定理,只需要计算函数在两个端点的值,并判断它们是否异号,如果异号,则区间[a,b]一定包含根r。
接着,利用c =(a+ b) / 2将区间[a,b]分成两个小区间[a,c]和[c,b],逐渐缩小根所在的区间范围,直到最后确定根的准确值。
由于数值计算的准确性高、计算量小、计算过程简单,因此二分法在许多互联网科技应用中大量采用,如自动搜索引擎服务,精准推荐等。
此外,在建模和科学研究中,二分法也被广泛运用,例如求解非线性方程组、解析一元函数最优解等。
综上所述,二分法是一种有效的数值解法,在互联网科技的应用非常广泛,如搜索引擎服务、精准推荐以及科学研究等,它具有计算准确度高、计算量小、理论需要考虑较少的优势,有效地解决非线性方程的求解问题,同时也为科技进步和科学发展作出了贡献。
非线性方程求解在数学中,非线性方程是一种函数关系,其表达式不能通过一次函数处理得到。
与线性方程不同,非线性方程的解决方案往往更具挑战性,因为它涉及到更复杂的计算过程。
尤其在实际应用中,非线性方程的求解是一个非常重要的问题。
本文将讨论几种常用的非线性方程求解方法。
二分法二分法,也称为折半法,是一种基本的求解非线性方程的方法之一。
它的核心思想是将区间一分为二并判断方程在哪一半具有根。
不断这样做直到最终解得精度足够高为止。
下面是利用二分法求解非线性方程的流程:1. 设定精度值和区间范围2. 取区间的中点并计算函数值3. 如果函数值为0或函数值在给定精度范围内,返回中点值作为精确解4. 如果函数值不为0,则判断函数值的正负性并缩小区间范围5. 重复步骤2-4直到满足给定精度为止当然,这种方法并不总是能够找到方程的解。
在方程存在多个解或者区间范围不合适的情况下,二分法可能会导致求解失败。
但它是一种很好的起点,同时也是更复杂的求解方法中的一个重要组成部分。
牛顿迭代法牛顿迭代法是一种更复杂的求解非线性方程的方法。
它利用泰勒级数和牛顿迭代公式,通过不断迭代来逼近根的位置。
下面是利用牛顿迭代法求解非线性方程的流程:1. 先取一个近似值并计算函数值2. 求出函数的导数3. 利用牛顿迭代公式,计算下一个近似根4. 检查下一个近似根的精度是否满足条件,如果满足,返回当前近似根5. 如果精度不满足,则将新的近似根带入公式,重复步骤2-5当然,牛顿迭代法的收敛性并不总是保证的。
如果迭代过程太过温和,它可能无法收敛到精确解。
如果迭代过程过于暴力,则会出现发散现象,使得求解变得不可能。
其他方法此外,还有一些其他的求解非线性方程的方法,例如黄金分割法、逆二次插值法、牛顿切线法等等。
其中每一种方法都有其优缺点,不同的情况下,不同的方法都可能比其他方法更加适合。
结论总体来说,求解非线性方程的方法非常复杂。
无论是哪种方法,都需要一定的数学基础和计算机知识。
求解方程的近似根,一般需要解决两个问题:1.根的隔离。
即找出有根区域,使得在一些小区间中方程只有一根(或一对共轭复根)以便获取各根的较粗糙的近似值。
2.近似根的精确化。
即用求根的数值方法,使求得的近似根逐步精确化,直到获得一定精度的近似根。
一、二分法和牛顿迭代法的基本思想1.二分法。
一般地,对于函数f (x ),如果存在实数c ,当x=c 时,若f (c )=0,那么把x=c 叫做函数f (x )的零点。
解方程即要求f (x )的所有零点。
假定f (x )在区间(x ,y )上连续,先找到a 、b 属于区间(x ,y ),使f (a ),f (b )异号,说明在区间(a ,b )内一定有零点,然后求[f (a+b )/2],现在假设f (a )<0,f (b )>0,a<b ,①如果[f (a+b )/2]=0,该点就是零点。
如果[f (a+b )/2]<0,则在区间((a+b )/2,b )内有零点,注:(a+b )/2>=a ,从①开始继续使用中点函数值判断。
如果[f (a+b )/2]>0,则在区间(a ,(a+b )/2)内有零点,注:(a+b )/2<=b ,从①开始继续使用中点函数值判断。
这样就可以不断接近零点。
通过每次把f (x )的零点所在小区间收缩一半的方法,使区间的两个端点逐步迫近函数的零点,以求得零点的近似值,这种方法叫做二分法。
从以上可以看出,每次运算后,区间长度减少一半,是线形收敛。
另外,二分法不能计算复根和重根。
2.牛顿迭代法。
设r 是f (x )=0的根,选取x0作为r 初始近似值,过点(x0,f (x0))做曲线y=f (x )的切线L ,L 的方程为y=f (x0)+f'(x0)(x-x0),求出L 与x 轴交点的横坐标x1=x0-f(x0)/f'(x0),称x1为r 的一次近似值。
过点(x1,f (x1))作曲线y=f (x )的切线,并求该切线与x 轴交点的横坐标x2=x1-f(x1)/f'(x1),称x2为r 的二次近似值。
非线性方程求根的常见方法及其应用对于一个非线性方程,其解不一定是唯一的,而且很多情况下解根难以直接求得。
因此,寻找一种可靠、有效的方法来求解非线性方程根是非常重要的。
本文将介绍几种常见的非线性方程求根方法,并且介绍它们的应用场景及求解精度。
一、二分法二分法是一种最基本且易于实现的方法,它能够求解任何单峰函数(函数图像中仅有一个极大值或极小值的函数)的根。
该方法的主要思想是不断缩小根的区间,直到找到根。
具体而言,对于一个单峰函数f(x),在区间[a,b]上寻找其根。
首先,取中点c=(a+b)/2,计算f(c)。
如果f(c)≈0,则找到了根;否则,根位于[a,c]或[c,b]中的一个区间上,重复上述步骤,直到找到根。
该方法的主要优点是简单易用,适用于大部分单峰函数,并且收敛速度相对较快。
但是,该方法需要区间起点和终点具有异号,否则无法找到根。
二、牛顿迭代法牛顿迭代法是一种高效的方法,可用于求解任何无奇点的连续可微函数的根。
该方法的主要思想是将一个复杂的函数不断逼近于一条直线,然后通过直线和x轴的交点来不断逼近函数的根。
具体而言,对于一个连续可微函数f(x),在初始点x0处进行求解。
首先,通过f(x)在x=x0处的导数f'(x0)来确定函数的切线。
然后,找到x轴上离该点最近的交点x1处,并将其作为新的起点,迭代上述过程,直到找到根。
该方法的主要优点在于速度快、精度高,并且可适用于大多数函数。
但是,该方法可能会出现迭代过程不稳定的问题,因此需要谨慎选择初值。
三、割线法割线法是一种类似于牛顿迭代法的方法,其主要思想是通过一条割线来逼近函数的根。
相比于牛顿迭代法,割线法更加适用于函数的导数难以求得的情况。
具体而言,对于一个函数f(x),在初始点x0和x1处进行求解。
首先,通过f(x)在x=x0处和x=x1处的取值来确定割线,找到x轴上与割线交点x2处,并将其作为新的起点,重复上述步骤,直到找到根。
该方法的主要优点在于速度快、精度高,并且可适用于大多数函数。
数学中的非线性方程求解非线性方程是指未知量与其函数之间不满足线性关系的方程。
解决非线性方程的问题一直是数学领域的研究重点之一,因为非线性方程在自然科学、工程技术以及金融经济等领域中具有广泛的应用。
在本文中,我们将探讨几种常见的非线性方程求解方法。
一、二分法二分法也称为区间二分法,是求解非线性方程最基本的方法之一。
该方法利用非线性方程连续性的特点,将方程的解所在的区间不断二分并缩小区间范围,最终找到非线性方程的解。
考虑一个一元非线性方程f(x)=0,其中f(x)在区间[a, b]上连续且f(a)与f(b)异号。
根据区间中值定理可知,存在一点c属于(a, b),使得f(c)=0。
我们可以按以下步骤进行二分法的求解:步骤1:选择区间[a, b],计算函数值f(a)与f(b)。
步骤2:如果f(a)与f(b)异号,则继续进行下一步。
否则,结束计算,方程无解。
步骤3:计算区间中点c=(a+b)/2,并计算f(c)。
步骤4:如果f(c)接近于0或满足终止条件,则c为方程解。
否则,根据f(a)与f(c)的符号确定新的区间[a, c]或[c, b]。
步骤5:重复步骤3和步骤4,直至满足终止条件。
二、牛顿法牛顿法是一种迭代逼近的方法,通过使用函数的一阶和二阶导数来逼近非线性方程的解。
该方法基于泰勒级数展开,通过不断迭代逼近函数零点的位置。
考虑一个一元非线性方程f(x)=0,我们可以按以下步骤进行牛顿法的求解:步骤1:选择一个初始近似值x0。
步骤2:计算函数f(x)的一阶导数f'(x)和二阶导数f''(x)。
步骤3:使用初始近似值x0和函数导数来进行迭代计算,得到新的近似值x1。
迭代公式为x1 = x0 - f(x0)/f'(x0)。
步骤4:计算函数f(x1)的值。
步骤5:如果f(x1)接近于0或满足终止条件,则x1为方程解。
否则,将x1作为新的近似值,重复步骤3和步骤4。
步骤6:重复步骤3至步骤5,直至满足终止条件。
非线性方程的数值解法中的二分法作者:何天荣来源:《科技风》2016年第13期摘要:代数方程的求根问题是一个古老的数学问题,早在16世纪就找到了三次、四次方程的求根公式。
但直到19世纪才证明高于5次的一般代数方程式不能用代数公式求解。
因此,需要研究用数值方法求得满足一定精度的代数方程式近似解。
本文就二分法的理论、方法、例题方面进行阐述。
关键词:非线性方程;数值解法;二分法1 二分法的理论依据定理1[ 1 ] (1)设f(x)于[a,b]上连续;(2)且f(a)·f(b)定理1的理论依据来源于数学分析闭区间上连续函数的介值性定理。
叙述如下:定理2(介值性定理)[ 2 ] 设函数f(x)于[a,b]上连续,且f(a)≠f(b)。
若?滋为介于f(a)和f(b)之间的任何常数(f(a)?滋>f(b)),则至少存在一点x0∈(a,b),使得f(x0)=?滋。
定理的证明参见[2],而定理1称为根的存在性定理,它是介质定理的特殊情况,即假设f(a)>0,f(b)0情况下的介质定理中f(x)=0的结论。
2 二分法的过程叙述设有非线性方程f(x)=0,其中,设f(x)为[a,b]上的连续函数且设f(a)·f(b)第1步分半计算(k=1):于是得到长度缩小一半的含根区间第k步分半计算:重复上述过程,设已完成第1步、…、现进行第k步分半计算:总之,由上述二分法得到一序列;可用二分法求方程f(x)=0实根到任意指定的精度。
事实上例插用二分法求方程x3-2x2-4x-7=0在区间[3,4]内的根,精确到10-3,即误差不超过解:因为f(3)=-100,所以,方程在区间[3,4]上有根。
所以n=11,即只需要二分11次即可。
列表讨论如下:参考文献:[1] 易大义,沈云宝,李有法编.计算方法(第二版)[M].浙江大学出版社,2012.[2] 华东师大数学系编.数学分析(第三版)[M].北京:高等教育出版社,2010.。
二分法求解单变量非线性方程及其应用与实现论文作者:任珊 2010-10-2720:32:00论文关键词:二分法单变量非线性方程收敛性误差论文摘要:本文主要通过一个实例来研究单变量非线性方程f(x)=0的二分法求解及此方法的收敛性,根据误差估计确定二分次数并进行求解。
同时实现matlab和C语言程序编写。
从而掌握过程的基本形式和二分法的基本思想,在以后的学习过程中得以应用。
1. 引言在科学研究与工程技术中常会遇到求解非线性方程f(x)=0的问题。
而方程f(x)是多项式或超越函数又分为代数方程或超越方程。
对于不高于四次的代数方程已有求根公式,而高于四次的代数方程则无精确的求根公式,至于超越方程就更无法求其精确解了。
因此,如何求得满足一定精度要求的方程的近似根也就成为了我们迫切需要解决的问题。
近年来,随着数学科学研究的不断进展,又更新了许多方程求解的方法。
我们知道,对于单变量非线性方程f(x)=0,一般都可采用迭代法求根,由此产生了二分法。
2. 二分法一般地,对于函数f(x),如果存在实数c,当x=c时f(c)=0,那么把x=c叫做函数f(x)的零点。
解方程即要求f(x)的所有零点。
先找到a、b,使f(a),f(b)异号,说明在区间(a,b)内一定有零点,然后求f[(a+b)/2], 现在假设f(a)<0,f(b)>0,a<b①如果f[(a+b)/2]=0,该点就是零点,如果f[(a+b)/2]<0,则在区间((a+b)/2,b)内有零点,(a+b)/2=>a,从①开始继续使用中点函数值判断。
如果f[(a+b)/2]>0,则在区间(a,(a+b)/2)内有零点,(a+b)/2=>b,从①开始继续使用中点函数值判断。
这样就可以不断接近零点。
通过每次把f(x)的零点所在小区间收缩一半的方法,使区间的两个端点逐步迫近函数的零点,以求得零点的近似值,这种方法叫做二分法。
给定精确度ξ,用二分法求函数f(x)零点近似值的步骤如下:1. 确定区间[a,b],验证f(a)·f(b)<0,给定精确度ξ.2. 求区间(a,b)的中点c.3. 计算f(c).(1) 若f(c)=0,则c就是函数的零点;(2) 若f(a)·f(c)<0,则令b=c;(3) 若f(c)·f(b)<0,则令a=c.4. 判断是否达到精确度ξ:即若┃a-b┃<ξ,则得到零点近似值a(或b),否则重复2-4.由于计算过程的具体运算复杂,但每一步的方式相同,所以可通过编写程序来运算。
3. 实例引入二分法求解单变量非线性方程的例子很多,仅以此例进行分析:求方程f(x)=x³-x-1=0在区间[1.0,1.5]内的一个实根,要求准确到小数点后第2位。
4. 问题分析对于以上单变量非线性方程,已知a=1.0,b=1.5,采用二分法求解。
首先我们根据二分法所允许的误差范围求得应迭代次数。
二分法允许的误差公式:|x*- | ( - )/2=(b-a)/ 0.005,其中k为二分次数。
所以求得本题应二分6次达到预定的精度。
5. 解题过程这里a=1.0,b=1.5,而f(a)<0,f(b)>0。
[a,b]的中点x0=1.25,将区间二等分。
由于f(x0)<0,即f(x0)与f(a)同号,故所求根x*必在x0右侧,这是应令a1=1.25,b1=1.5,得到新的有根区间[a1,b1].如此反复二分6次,结果如下:K/二分次数/区间左边界值/右边界值F( )的符号1234561.01.251.31251.32031.51.3751.34381.32811.251.3751.31251.34381.32811.32031.3242-+++--6. 基本二分法的matlab实现与C语言实现6.1 %二分法的算法及MATLAB实现function [c, err, yc] = bisect(f, a, b, delta) % f 是所要求解的函数% a 和 b 分别是有根区间的左右限% delta 是允许的误差界% c 为所求的近似解% yc 为函数 f 在 c 上的值% err 是 c 的误差估计if nargin < 4delta = 1e -5;endya = feval (’f’,a);yb = feval (’f’,b);if yb == 0, c = b, returnendif ya * yb > 0disp(’(a,b)不是有根区间’);returnmax1 = 1 + round((log(b - a) - log(delta))/log(2));for k = 1:max1c = (a + b)/2;yc = fevel(’f’,c);if yc == 0 a = c; b = c; break,elseif yb * yc > 0b = c; yb = yc;elsea = c; ya = c;endif (b - a) < delta, breakendendk, c = (a + b)/2, err = abs(b - a), yc = feval(‘f’,c) 6.2 %基本二分法的C语言实现方程式为:f(x) = 0,示例中f(x) = 1+x-x^3使用示例:input a b e: 1 2 1e-5solution: 1.32472源码如下:#include <stdio.h>#include <stdlib.h>#include <math.h>#include <assert.h>double f(double x){return 1+x-x*x*x;}int main(){double a = 0, b = 0, e = 1e-5;printf("input a b e: ");scanf("%lf%lf%lf", &a, &b, &e);e = fabs(e);if (fabs(f(a)) <= e){printf("solution: %lg\n", a);}else if (fabs(f(b)) <= e){printf("solution: %lg\n", b);}else if (f(a)*f(b) > 0){printf("f(%lg)*f(%lg) > 0 ! need <= 0 !\n", a, b); }else{while (fabs(b-a) > e){double c = (a+b)/2.0;if (f(a)* f ( c ) < 0)b = c;elsea = c;}printf("solution: %lg\n", (a+b)/2.0);}return 0;}7.方法总结7.1二分法解题的基本步骤:1)计算f(x)的有根区间[a,b]端点处的值f(a),f(b)。
2)计算f(x)的区间中点的值f((a+b)/2)。
3)进行函数值的符号比较。
4)根据误差估计二分到一定次数达到精度,从而求得近似值。
7.2二分法的优缺点:优点:算法简单,容易理解,且总是收敛的缺点:收敛速度太慢,浪费时间所以,在以后的学习过程中,我们将根据方程的形式和二分法的优缺点不单独将其用于求根,只用其为根求得一个较好的近似值,方便其他方法的运算。
8. 结论(1)针对现实中的许多剖面设计、轨道设计等关键参数方程中三角函数多、计算工作量较大、迭代收敛条件强等问题,采取数学变化的方法将该方程转化成一个只包含对数函数和多项式函数的新方程,并提出了寻找求解区间的步长搜索算法和自适应步长搜索算法,进而使用二分法求新方程的数值解。
(2)数学分析和数值实践表明,该算法不仅能够正确判断设计方程是否有解,而且在有解的情况下能够正确求出该解,计算量小,计算过程稳定。
参考文献【1】曾毅; 改进的遗传算法在非线性方程组求解中的应用[J]; 华东交通大学学报; 2004 年04期; 136-138【2】许小勇,宋昔芳; 一种求解非线性方程全部实根的算法与实现[J];科技广场;2007年01期; 15-17【3】王兴华,郭学萍; 二分法及其各种变形收敛性的统一判定法则[J];高等学校计算数学学报; 1999年04期【4】苗慧; 解非线性方程的若干算法的收敛性分析[D];浙江大学; 2006年【5】李晓霞; 关于若干迭代算法的收敛性分析[D];浙江大学; 2002年【6】李庆扬,王能超,易大义;数值分析第4版TUP 清华大学; 2001年5月你可能感兴趣的毕业论文没有相关论文。