非线性方程求解算法的程序设计及比对课程设计毕业设计

上传人:tian****1990 文档编号:72751901 上传时间:2019-01-24 格式:DOC 页数:22 大小:780.68KB
返回 下载 相关 举报
非线性方程求解算法的程序设计及比对课程设计毕业设计_第1页
第1页 / 共22页
非线性方程求解算法的程序设计及比对课程设计毕业设计_第2页
第2页 / 共22页
非线性方程求解算法的程序设计及比对课程设计毕业设计_第3页
第3页 / 共22页
非线性方程求解算法的程序设计及比对课程设计毕业设计_第4页
第4页 / 共22页
非线性方程求解算法的程序设计及比对课程设计毕业设计_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《非线性方程求解算法的程序设计及比对课程设计毕业设计》由会员分享,可在线阅读,更多相关《非线性方程求解算法的程序设计及比对课程设计毕业设计(22页珍藏版)》请在金锄头文库上搜索。

1、题 目:非线性方程求解算法的程序设计及比对摘要由于五次及其以上代数方程式大多不能用代数公式求解非线性方程的解.或者求解非常复杂。而在工程和科学技术中许多问题常常归结为求解非线性方程式问题.所以需要研究非线性方程的数值解法的问题是非常重要.来适应我们社会的需要.本课题主要介绍非线性方程的数值解法是直接从方程出发,逐步缩小根的存在区间,或逐步将根的近似值精确化,直到满足问题对精度的要求,主要的方法有二分法,迭代法,牛顿法,弦截法等。并写出这几种非线性方程的数值解法的算法和程序及其优缺点和计算条件.关键词 二分法;牛顿迭代法;弦截法法;程序框架图;C语言编程 目录引言1第一章 非线性方程求解算法21

2、.1 二分法21.1.1 二分法的简介21.1.2 二分法的原理21.1.3 二分法的算法31.2 不动点迭代法41.2.1不动点迭代法的简介41.2.2不动点迭代法的几何意义41.2.3不动点迭代法的算法51.3 牛顿迭代法61.3.1牛顿迭代法的简介61.3.2牛顿迭代法的原理61.3.3牛顿迭代法的算法71.4 弦截法81.4.1弦截法的简介81.4.2弦截法的原理81.4.3弦截法的算法9第二章 非线性方程求解的C语言算法对比112.1 C语言求解非线性方程的根112.1.1构造非线性方程迭代公式112.1.2计算迭代公式112.2 C语言算法比较分析14参考文献16附录A17附录B1

3、8引言代数方程求根问题是一个古老的数学问题,早在16世纪就得到了三次、四次方程的求根公式.一般(五次及其以上)代数方程式不能用代数公式求解.在工程和科学技术中许多问题常常归结为求解非线性方程式问题.因此,需要研究用数值方法求得满足一定精度的代数方程式的近似解.根的数值方法,其中是连续的称为非线性方程,此类方程除少数情形外,只能求近似解.例如,其根为 像这种方程是可以直接的方法求出解析解.但对于对于多项式方程当时,就不能得到解析解.对于更一般的情况(如超越方程)就更难求得解析解了,更就不存在根的解析表达式,在科学研究和科学计算中常常碰到非线性方程求解问题.非线性方程的解一般不能解析求出.所以数值

4、解法显得非常重要,而数值解法在实际中的实现则更为重要.本课题主要是应用数值解法结合计算机语言来求解非线性方程的解,其中包括的数值解法有二分法、迭代法、牛顿法、弦截法等.主要用的计算机语言C语言、等.正好符合用计算机语言来处理复杂计算量的数学问题,以此来分析几种非线性数值解法的优缺点,计算量的大小.来选出更加适合的计算方法.第一章 非线性方程求解的算法1.1 二分法1.1.1 二分法的简介二分法又称二分区间法,是求解方程的近似根的一种常用的简单方法.设函数在闭区间上连续,且,根据连续函数的性质可知,在内必有实根,称区间为有根区间.为明确起见,假定方程在区间内有惟一实根.二分法的基本思想是: 首先

5、确定有根区间,将区间二等分, 通过判断的符号, 逐步将有根区间缩小, 直至有根区间足够地小, 便可求出满足精度要求的近似根.1.1.2二分法的原理设方程在区间内有根,二分法就是逐步收缩有根区间,最后得出图 1.1 二分法原理图 所求的根,如上图所示,我们可以写出一下内容.(1) 输入有根区间的端点及预先给定的精度;(2) 计算 ;(3) 若,则;否则;(4) 若,则输出方程满足精度要求的根,计算结束;否则转(2).继续执行前面的步骤.开 始 开 始 输 入a,b,(a+b)/2xxb|b-a|eps);Step 7 Output the solution of equation: ; STOP

6、.1.2 不动点迭代法1.2.1 不动点迭代法的简介 迭代法的基本思想是逐次逼近,即首先给出方程的根的一个近似初始值,然后反复使用迭代公式校正这个初始值,逐步精确化,直到满足预先给出的精度要求为止. 首先设法把方程化为下列等价形式(称为迭代函数) (1-1)然后按式(1-1)构造迭代公式 (1-2) 在有根区间上取一点作为方程根的初始近似根,代入式(1-2)右端,求得,再把作为预测值,进一步得到,如此反复进行下去,得到一个近似根的序列如果迭代序列收敛于,则当连续时,便是方程的根. 对预先给定的精度要求,只要某个是满足,即可结束计算并取. 1.2.2 不动点迭代法的几何意义用迭代法求方程在区间内

7、的实根.可以写出一下下几种迭代格式,用Mathematica 画出它们的图形,以此来观察它们的几何意义. y x -2-112-2-11图 1.3 迭代几何图 -112-112图 1.4 迭代几何图-2-11x-2246y图 1.5 迭代几何图1.2.3 不动点迭代法的算法由不动点迭代法程序框架图(见附录A)写出一下迭代算法给定初始近似值 ,求的解.输入: 初始近似值; 容许误差TOL; 最大迭代次数Nmax.输出: 近似解或失败信息.Step 1 Set k = 1;Step 2 While ( k Nmax) ; do steps 3-6 Step 3 Set ; /* 计算 x */ S

8、tep 4 If TOL then Output (x); /*成功*/ STOP; Step 5 Set k+; Step 6 Set ; /* 更新 */Step 7 Output (The method failed after Nmax iterations); /*不成功 */ STOP.1.3 牛顿迭代法1.3.1 牛顿迭代法的简介简单的迭代法是用直接的方法从原方程中隐含地解出,从而确定出.而牛顿迭代法是用一种间接而特殊的方法来确定.牛顿迭代法的基本思想是,将非线性方程的求根问题归结为计算一系列线性方程的根. 设是方程的一个近似根,将在附近作一阶泰勒展开,则有,于是方程可近似表示成

9、. 这是一个线性方程式,设,则上式的解为 , 取作为原方程的新的近似根,即令 则称上式为牛顿迭代公式.1.3.2 牛顿迭代法的原理 y y=f(x) Pk Pk+1 Pk+2 x* xk+2 xk+1 xk x 图 1.6 牛顿迭代法程几何意义图从图 1.6可以看出,方程的根是曲线与轴交点的横坐标,设是根的某个近似值,由此来求出过曲线(图 1.7)的横坐标为的点引切线交轴于, 并将其作为新的近似值,重复上述过程,我们可以得到可见一次次用切线方程来求解方程的根,所以亦称为牛顿切线法.开 始输 入x0,N1k N k+1 kx1 x0 YynykN?n输出输出奇异标志结 束输出迭代失败标志 图 1

10、.7 牛顿迭代法程序框架图1.3.3 牛顿迭代法的算法从图 1.7流程图,写出一下牛顿算法,并且用c语言编写运算程序. 用Newton法求方程一个解. 输入 初始值;误差容限TOL;最大迭代次数. 输出 近似解或失败信息.Setp 1 .Setp 2 对 做Setp 3-4 .Setp 3 .Setp 4 若,则输出,停机,否则.Setp 5 输出(Method failed); 停机 在第4步中的迭代终止准则可用 1.4 弦截法1.4.1 弦截法的简介弦截法也称为割线法.如果函数求导困难,则割线较切线更为实用.牛顿迭代法虽然具有收敛速度快的优点,但每迭代一次都要计算导数,比较复杂时,不仅每次计算带来很多不便,而且还可能十分麻烦,如果用不计算导数的迭代方法,往往只有线性收敛的速度.弦截法便是一种不必进行导数运算的求根方法.弦截法在迭代过程中不仅用到前一

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号