1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > c语言编程非线性方程求解 c语言计算机编程三种方法求解非线性方程

c语言编程非线性方程求解 c语言计算机编程三种方法求解非线性方程

时间:2022-10-11 14:37:17

相关推荐

c语言编程非线性方程求解 c语言计算机编程三种方法求解非线性方程

c语言计算机编程三种方法求解非线性方程

本 科 专 业 学 年 论 文题 目:非线性方程求解比较姓 名: 何 娟 专 业: 计算机科学技术系 班 级: 08 级本科(2)班 指 导 老 师: 刘 晓 娜 完成日期: 年 11 月 21 日题 目:非线性方程求解比较摘 要本文给出了三种求解非线性方程的方法,分别是二分法,牛顿迭代法,割弦法。二分法巧妙地利用插值得到的点以及有根区间中点这两点处的函数值,缩小隔根区间,以期望得到更快的收敛速度。牛顿迭代法是非线性方程根的一种常见的数值方法,对于非线性方程的单重零点来说,牛顿迭代法一般具有局部二阶收敛性,但是当所求的根 X*是 F(X)的 M 重根时,M 是大于等于 2 的整数,此时牛顿迭代法只有一阶收敛性。弦截法是将牛顿迭代公式中用差商 F( )-F( )kx1/ ( - )代替导数 。本文给出了算法改进的具体步骤及算法流程图kx1 ()kFx相关的数值结果也说明了方法的有效性。关 键 词 : 二分法;牛顿迭代法;割弦法;非线性方程计算机学年专业论文 非线性方程求解- 1 -目 录第一章 绪 论 ……………………………………………………1 第二章 求解非线性方程的三种常见算法 …………………………… 2 2.1 二分法 ………………………………………………………2 2.2 牛顿迭代法 ……………………………………………………3 2.3 割弦法 ………………………………………………………5 第三章 求解非线性方程的三种算法比较 ……………………………6 3.1 二分法求解方法 ………………………………………………6 3.2 牛顿迭代法求解 ……………………………………………… 8 3.3 割弦法求解 ……………………………………………………9 参 考 文 献 …………………………………………………… 12计算机学年专业论文 非线性方程求解- 2 -第一章 绪 论在科技飞速发展的今天,计算机已经成为我们生活中不可缺少的一部分了,在我们生活与生产中扮演越来越重要的角色,而科学计算已经成为科学计算的重要方法之一,其应用范围已渗透到所有科学领域,作为科学与工程计算的数学工具,计算方法已成为高等院校数学与应用数学,信息与计算科学,应用物理学等必修课。 在永恒变化发展的自然界与人类社会中,在研究其内部规律的各个科学领域中,更深刻、更精确地描述其内部规律的数学工具之一,就是非线性方程。非线性代数是研究大规模离散数据的运算处理与内在性状的数学科学,科学技术离不开数据处理与数据分析,因此非线性代数具有广泛的应用。无论在物理学、力学、化学、控制论等科学领域中,非线性方程屡见不鲜。就是在生命科学领域中,也是用非线性方程来描述生命过程中的能量、信息、物质等传递过程的。因此,对非线性方程的求解自然就是一个非常重要了。然而求解非线性方程有很多种方法,每种方法都有自己的优缺点。目前已有的数学软件可以帮助我们实现上机计算,基本上已经将数值分析的主要内容设计成简单的函数,只要调用这些函数进行运算便可得到数值结果。非线性代数中许多数值计算与计算机结合,才能得到更很好,更快,更精准的结果。为了将计算机与线性代数方程组更好的结合在一起,本文做了比较全面的的解说。本文比较全面的介绍了现代计算机科学与工程计算中常见的数值计算方法,对这些数值计算方法的基本理论与实际计算机实践应用进行了详细的分析,同时还简要的分析了这些数值算法的计算效果,稳定性,收敛效果,适用范围以及优劣性与特点。本文着重于化抽象为具体,引用一个具体的非线性方程用发散性的思维对其进行彻底的分析,主要有:① 引入一个非线性方程,分别运用三种思想进行分析,得到三种解法的根本思想;② 把数学方法与数学思想提出来,并进行简洁易懂的理论证明,既突出了线性代数的理论和基本思想,又可以帮助读者对该数学方法的理解;③ 给出各种算法的循环思想以及流程图,展现出一个清新的框架在读者面前;④ 基于 c 语言的基础上,写出可执行的代码。⑤ 对各种算法得到的结果进行比较分析。第二章 求解非线性方程的三种常见算法2.1 二分法单变量函数方程:f(x)=0其中,f(x)在闭区间[a,b]上连续、单调,且 f(a)*f(b)0,00)(0f则由牛顿法产生的迭代序列 收敛于 f(x)=0 的根 ,且nx*x计算机学年专业论文 非线性方程求解- 5 -)(2)(**1limxfxk定理 2:对于方程 f(x)=0,设 f(x)在[a,b]上有二阶连续导数且满足下述条件:(1)f(a)f(b)* *x)(f0,当 【 -, + 】时,由牛顿迭代法 = (k=0,1,2,…)式产0 xx1k)( kfx生的序列 是以不低于二阶的收敛速度收敛到 .n *2.3 割弦法 设 , 为方程 f(x)=0 的两个近似根。用差商得:f( )-f( )/ - ,kx1 kx1kx1代替牛顿迭代公式中的导数 f’( ), 于是得到如下的迭代公式: kx= - 。下面研究割弦法的几何意义:1kx())(11kkkxff经过点( ,f( ))及点( ,f( ))两点作割线,其点斜式方程为:1kxY=f( )- ,其零点为 X= - kx()(1kkxff kx把 X 用 表示即得到迭代格式,它又称为双点弦割)())(11kkkff 1kx法,需要两个初值此割线与 X 轴交点的横坐标就是新的近似值 ,所以弦截法又称为割线1kx法,如图所示。 计算机学年专业论文 非线性方程求解- 6 -下面三个定理为弦割法收敛定理:定理 1:设 f(x)在其零点 的邻域 U( , )= [ - , + ] ( >0)*x*x*x*内有二阶连续导数, ,则当 U( , )时,由割弦法式产生的0)(f0序列 收敛于 ,且收敛的阶为 1.618。nx*定理 2:设 在区间[a,b] 上连续,且满足下述三点)(f(1)f(a)f(b)0)内有二阶连续导*x*x**x数,f’(x) 0 则当 U( , )时,由弦割 = -01k )())(11kkkxff式产生的序列 收敛于 ,且收敛的阶为 1.618。nx*第三章 求解非线性方程的三种算法比较本章主要通过具体实例比较了第二章中三种算法的优缺点,并得到相应结论,求解非线性方程 x*x*x+4*x*x-10=0 在[1,2]上,x0=1.5 附近的解精确到0.000 000 0

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。