ImageVerifierCode 换一换
格式:DOCX , 页数:8 ,大小:141.74KB ,
资源ID:6240705      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6240705.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(非线性方程的数值解法.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

非线性方程的数值解法.docx

1、非线性方程的数值解法 计 算 方 法 期 末 论 文论文题目 非线性方程的数值解法学 院 专 业 班 级 姓 名 学 号 指 导 教 师 日 期 摘要第1 章 绪论1.1 问题的提出和研究目的和意义1.2 国内外相关研究综述1.3 论文的结构与研究方法第2 章 非线性方程的数值解法2.1 二分法2.2 迭代法2.3 迭代法的局部收敛性及收敛的阶2.4 牛顿迭代法 2.5 牛顿法的改进2.6 插值摘要􀈖数值计算方法,是一种研究解决数学问题的数值近似解方法,它的计算对象是那些。在理论上有解而又无法用手工计算的数学问题。在科学研究和工程技术中都要用到各种计算方法。例如⣷

2、73;在地质勘探、汽车制造、桥梁设计、天气预报和汉字设计中都有计算方法的踪影。本文讨论了非线性方程的数值解法:非线性方程的二分法、迭代法原理、牛顿迭代法,迭代法的收敛性条件及适合非线性方程的插值法等等。第1 章 绪论可以证明插值多项式L (x) n 存在并唯一。拉格朗日插值多项式的算法􀈖step1.输入􀈖插值节点控制数n􀈔插值点序列􀈒 i i x , y i=0,1,n􀈔要计算的函数点x。step2. FOR i =0,1,n 􀈑i 制拉格朗日基函数序列问题的提出和研究目的和意义非线性方

3、程的问题在工程实践中有很多用途􀈔研究其数值解法是当前一个研究方向。目前已有相当一部分算法在广泛使用于工程实践中。非线性方程组和无约束最优化的数值解法􀈔一直是数值优化领域中热门的研究课题。本文对传统的方法进行改进和提出新的算法􀈔该算法不仅有重要的论价值,而且有很高的实用价值。例如在天体力学中,有如下Kepler􀈒开普勒方程􀈖x-t- 􀀉sin x=0,0 􀀉1,其中t 表示时间􀈔x 表示弧度,行星运动的轨道x 是t 的函数。也就是说,对每个时刻i t &

4、#1049108;上述方程有唯一解i x ,运动轨道位置。国内外相关研究综述随着科学技术的高速发展和计算机的广泛应用􀈔求解形如F(x)=0 的非线性方程组问题越来越多的被提出来了􀈔其中F 是的连续可微函数。例如非线性有限元问题、非线性断裂问题、弹塑性问题、电路问题、电子系统计算以及经济与非线性规划问题等都可转化为非线性方程组的求解问题。只要包含有未知函数及其导函数的非线性项的微分方程,无论是用差分方法或有限元方法,离散化后得到的方程组都是非线性方程组。与线性方程组相比,非线性方程组的求解问题无论在理论上还是在解法上都不如线性方程组成熟和有效.例如,非线性方程

5、组是否有解,有多少解,理论上都没有很好的解法,而对于非线性方程组,除了形式极为特殊的小型方程组以外,直接解法几乎是不可能的.因而,我们主要考虑迭代解法.一般都是采用线性化的方法去构造各种形式的迭代系列.通常都要讨论以下几个基本问题:第一个问题是,迭代点列的适定性问题,即要求迭代点列是有意义的.例如对于牛顿法,Jacobi 矩阵必须是非奇异的.第二个问题,也是最基本的问题,生成的迭代点列的收敛性以及极限点是否为方程组的解.最后一个问题是,迭代点列的收敛速度问题.早在七十年代以前,许多学者在理论上和数值解法上都对非线性方程组做了大量的研究.Ortega Rheinboldt 系统的介绍了n 阶非线

6、性方程组的基本理论成果,并对牛顿法,延拓法等几种主要迭代法作了详尽的分析.另外,也有一些学者把非线性方程组的求解问题转化为极小化问题, 得到一类称为极小化方法的迭代法, 如下降法, 共轭方向法,Gauss-Newton 法等,李,莫&祁详细介绍了一些适合在计算机上求解的有效算法,如Broyden 算法,以及近十几年来发展的新方法,如区间迭代法,单调迭代法和单纯形法等.论文的结构与研究方法1.欲解决的主要问题是:综合当前各类非线性方程的数值解法,通过比较分析,二分法,迭代法,牛顿雷扶生方法,迭代法的收敛阶和加速收敛方法,解非线性方程的插值方法,这以上五种的算法应用对某个具体实际问题选择相应的数值

7、解法。2.比较各类数值算法􀈔分析其优缺点􀈔并应用到具体的实际问题中。3利用计算机MATLAB 语言对非线性方程的数值解法进行程序设计。研究的基本思路是结合目标所提出的问题针对各种方法来具体分析比较􀈖(1) 二分法 起始区间a,b必须满足f(a)与f(b)符号相反的条件。二分法的第一部是选择中点c=(a+b)/2,然后分析可能存在的三种情况如果f(a)和f(c)符号相反,则在区间a,c内存在零点。如果f(c)和f(b)符号相反􀈔则在区间c,b内存在零点。如果f(c)=0,则c是零点。(2)迭代法 迭代是指重复执行一个计算过程

8、,直到找到答案。首先需要有一个用于逐项计算的规划或函数g(x),并且有一个起始po。然后通过迭代规则k 􀀃1 p =g( k p ),可得到序列值 k p 。(3)牛顿雷扶生法 如果f(x) f (x)和f (x)在根p 附近连续则可将它作为f(x)的特性,用于开发产生收敛到根p 的序列 k p 的算法。而且这种算法产生序列 k p 的速度比二分法快。牛顿雷扶生法依赖于f(x)和f (x)的连续性,是这类方法中已知的最有用和最好的方法之一。(4)迭代法的收敛阶和收敛方法、割线法只计算f(x)不计算f (x)􀈔而且在单根上的收敛阶R 1.618033989。割

9、线法比牛顿法收敛速度慢一些􀈔牛顿法的收敛阶为2。当p 是一个M 阶根时􀈔需要更好的求根技术以获得比线性收敛更快的速度。最终结果显示􀈔通过对牛顿法进行改进􀈔可使其在重根的情况下的收敛阶为2。加速收敛方法有Aitken 加速法和Steffensen 加速法。Steffensen 算法是促使迭代加速收敛的有效算法,但该算法每算一步,需两次迭代􀈔,其效率不够高。(5) 解非线性方程的插值方法 Lagrange 插值公式需要进行提高插值多项式次数的插值计算是不方便的。这些方法它们各有优缺点􀈖二分法

10、的优点是对函数f(x)的性态要求不高,只需连续即可,且计算程序简单,能保证收敛。其缺点是收敛速度较慢􀈔且只能求实函数的实零点􀈒单重或奇数重零点。该方法一般用于确定方程根或函数实零点的粗略位置,为快速收敛的算法提供初值。Newton 法的主要优点是收敛速度快,缺点是其收敛性是局部收敛,要求初始值0 x 选在精确解* x 附近才能保证收敛。割线法迭代一次仅需计算函数值f( k x )􀈔可保留作为下次迭代用,且避免了计算导数。第2 章 非线性方程的数值解法满足非线性方程f(x)=0 的解x ,称为方程的根或零点。一般用迭代法求非线性方程的根。通常

11、,非线性方程的根不是唯一的,而任何一种方法一次只能算出一个根。因此,在求解非线性方程时,要给定初始条件或求解范围。根可为实数或复数,也称为实根或复根。二分法􀈖二分法是求方程近似解的一种简单直观的方法。设函数f(x)在a,b上连续,且f(a)f(b)􀈓计算中点x=(a+b)/2 以及f(x)的值;分情况处理 | f(x)| 􀈖停止计算x 􀀂 =x,转向step4f(a) f(x)a,bf(x) f(b)a,bENDWHILEstep 3: x 􀀂 =(a+b)/2。Step 4:输出近似根x 。二分法的算法

12、简单􀈔然而􀈔若f(x)在a,b上有几个零点时􀈔只能算出其中一个零点􀈗另一方面􀈔即使f(x)在a,b上有零点.也未必有f(a) f(b)B,BA交替出现。但现在假设军中有一个胆小鬼,同时大家又都很照顾他,每次冲锋都是让他跟在后面,每当前面的人占据一个新的位置,就把位置交给他,然后其他人再往前占领新的位置。也就是A始终在B的前面,A向前迈进,B跟上,A把自己的位置交给B(即执行B = A操作),然后A 再前进占领新的位置,B再跟上直到占领所有的阵地,前进结束。像这种两个数一前一后逐步向某个位置逼近的方法称之为

13、迭代法。 迭代法也称辗转法,是一种不断用变量的旧值递推新值的过程,跟迭代法相对应的是直接法(或者称为一次解法),即一次性解决问题。迭代算法是用计算机解决问题的一种基本方法。它利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值。 利用迭代算法解决问题,需要做好以下三个方面的工作: 一、确定迭代变量。在可以用迭代算法解决的问题中,至少存在一个直接或间接地不断由旧值递推出新值的变量,这个变量就是迭代变量。 二、建立迭代关系式。所谓迭代关系式,指如何从变量的前一个值推出其下一个值的公式(或关系)

14、。迭代关系式的建立是解决迭代问题的关键,通常可以使用递推或倒推的方法来完成。 三、对迭代过程进行控制。在什么时候结束迭代过程?这是编写迭代程序必须考虑的问题。不能让迭代过程无休止地重复执行下去。迭代过程的控制通常可分为两种情况:一种是所需的迭代次数是个确定的值,可以计算出来;另一种是所需的迭代次数无法确定。对于前一种情况,可以构建一个固定次数的循环来实现对迭代过程的控制;对于后一种情况,需要进一步分析出用来结束迭代过程的条件。 最经典的迭代算法是欧几里德算法,用于计算两个整数a,b的最大公约数。其计算原理依赖于下面的定理: 定理:gcd(a, b) = gcd(b, a mod b) 证明:a

15、可以表示成a = kb + r,则r = a mod b 。假设d是a,b的一个公约数,则有 a%d=0, b%d=0,而r = a - kb,因此r%d=0 ,因此d是(b, a mod b)的公约数 同理,假设d 是(b, a mod b)的公约数,则 b%d=0 , r%d=0 ,但是a = kb +r ,因此d也是(a,b)的公约数 。 因此(a,b)和(b,a mod b)的公约数是一样的,其最大公约数也必然相等,得证。 欧几里德算法就是根据这个原理来做的,欧几里德算法又叫辗转相除法,它是一个反复迭代执行,直到余数等于0停止的步骤,这实际上是一个循环结构。其算法用C语言描述为: in

16、t Gcd_2(int a, int b)/ 欧几里德算法求a, b的最大公约数 if (a=0 | b 0) /b总是表示较小的那个数,若不是则交换a,b的值 temp = a % b; /迭代关系式 a = b; /是那个胆小鬼,始终跟在b的后面 b = temp; /向前冲锋占领新的位置 return a; 从上面的程序我们可以看到a,b是迭代变量,迭代关系是temp = a % b; 根据迭代关系我们可以由旧值推出新值,然后循环执a = b; b = temp;直到迭代过程结束(余数为0)。在这里a好比那个胆小鬼,总是从b手中接过位置,而b则是那个努力向前冲的先锋。 还有一个很典型的例

17、子是斐波那契(Fibonacci)数列。斐波那契数列为:0、1、1、2、3、5、8、13、21、,即 fib(1)=0; fib(2)=1; fib(n)=fib(n-1)+fib(n-2) (当n2时)。 在n2时,fib(n)总可以由fib(n-1)和fib(n-2)得到,由旧值递推出新值,这是一个典型的迭代关系,所以我们可以考虑迭代算法。 int Fib(int n) /斐波那契(Fibonacci)数列 if (n 1)/预防错误 return 0; if (n = 1 | n = 2)/特殊值,无需迭代 return 1; int f1 = 1, f2 = 1, fn;/迭代变量 int i; for(i=3; i=n; +i)/用i的值来限制迭代的次数 fn = f1 + f2; /迭代关系式 f1 = f2; /f1和f2迭代前进,其中f2在f1的前面 f2 = fn; return fn; 参考文献:1.XX百科 2.豆丁网

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1