欢迎来到天天文库
浏览记录
ID:14289145
大小:1.69 MB
页数:15页
时间:2018-07-27
《方程求根的迭代法1》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、方程求根的迭代法--------------牛顿法和弦截法实验目的:实际问题中碰到的函数f(x)是各种各样的,有的表达是很复杂,这时求解函数方程f(x)=0的根就会变得很困难,而工程应用中,对计算的结果只要保证在某个误差范围之内就足够了,这就要求我们设计一种方法能够求解复杂函数方程的根,迭代法就是这样一种求解复杂函数方程的根的方法。又由于通常对某些函数方程的根要求比较精确,误差要控制在一定的范围之内,所以计算过程比较复杂,这就要求这种算法能够便于利用计算机编程实现,牛顿法和弦截法为我们提供了一种既
2、能够利用迭代法求解复杂方程的根,又能够便于利用计算机实现,从而方便我们求解,节省我们时间的求解方法。本实验的目的就在于熟练掌握利用牛顿法和弦截法编程求解方程根,并且比较牛顿法和弦截法的收敛速度,比较两者的不同之处,进而加深对牛顿法和弦截法这两种方法的数学原理的理解。实验编程实现方程f=@(x)x-exp(-x)及f=@(x)x*exp(x)-1分别利用牛顿法和弦截法求解,并且比较牛顿法和弦截法各自迭代多少次才能达到要求的某一精度,并且理解二者的差别和各自的优缺点。本实验中要注意在牛顿法的迭代过程中
3、,分母上会出现f(x)的导数项,所以在编程过程中,一定要在程序的一开始就先判断f'(x)是否等于0,如果等于0,则直接跳出,只有在其不为0的情况下才继续执行程序。另外某些函数可能会发散或者是迭代过程收敛的非常慢,这时用牛顿法就是不合适的,所以这就要求我们另取其他方法。所以在用牛顿法求解方程根的过程中,要设置一个最大的迭代次数,以免造成电脑资源不足,系统崩溃。在弦截法的迭代过程中,除了与牛顿法相同的一些注意事项之外,还要注意在计算之前必须要先提供两个开始的值x0,x1。实验原理:迭代法的设计思想:迭
4、代法是一种逐次逼近法,这种方法使用某个固定公式,即所谓的迭代公式,反复校正根的近似值,使之逐步精确化,直到得出满足精度要求的结果。迭代法求根的过程分为两步,第一步先提供根的某个猜测值,即所谓的迭代初值,然后再将迭代初值逐步加工成满足精度要求的根。1、牛顿法对于方程f(x)=0,设已知它的近似根,则函数f(x)在点附近可用一阶泰勒多项式p(x)=f()+f'()(x-)来近似,因此方程f(x)=0可近似的表示为p(x)=0。后者是一个线性方程,它的求解是容易的,我们取p(x)=0的根作为f(x)=0
5、的新的近似根,记作,则有=-,这就是著名的牛顿公式,相应的迭代公式是ψ(x)=x-。牛顿法是一种逐步线性化方法,这种方法的基本思想是将非线性方程f(x)=0的求根问题归结为一系列线性方程f()+f'()(x-)=0的根。牛顿法有明显的几何解释。方程f(x)=0的根在几何上解释为曲线y=f(x)与x轴交点的横坐标。设是根的某个近似值,对曲线y=f(x)上横坐标为的点引切线,设该切线与x轴的横坐标记为,则这样获得的即为按牛顿法获得的近似根。由于这种几何背景,牛顿法亦称为切线法。如下图所示图牛顿法几何表
6、示1、弦截法牛顿法的突出优点是收敛的速度快,但它有个明显的缺点:需要提供导数值f'(),如果函数f(x)比较复杂,致使导数的计算困难,那么使用牛顿公式是不方便的。为避开导数的计算,可以改用差商替换牛顿公式中的导数,得到下列离散化形式,这个公式是根据方程的等价形式建立的迭代公式。迭代公式也有明确的几何意义。曲线上坐标为的点记为,则差商表示弦线的斜率,易知是弦线与x轴的交点,因此这种方法称为弦截法。如下图所示图弦截法几何表示考察弦截法的收敛性。直接对迭代函数求导得,当充分接近时,,由故知弦截法为线性收
7、敛。为提高收敛速度,再改用差商代替牛顿公式中的,从而导出下列迭代公式:,这种迭代方法称为快速弦截法。实验中编程主要用的就是这种公式。快速弦截法的特点在于,它在计算时要用到前面的两步信息,,即这种迭代法为两步法。使用这种方法,在计算前必须先提供两个开始值。实验内容:一、牛顿法1、实验设备:电脑一台,matlab软件2、实验数据准备:函数f,f的导数df,初值,迭代区间(),误差精度,最大迭代次数N。3、算法流程图4、实验步骤首先输入初值,精度及最大迭代次数,然后按照实验流程图编写实验程序,最后输出正
8、确精度的实验结果。二、弦截法1、实验设备:电脑一台,matlab软件2、实验数据准备:函数f,初值,,误差精度,最大迭代次数N。3、算法流程图4、实验步骤首先输入初值,精度,初值,及最大迭代次数,然后按照实验流程图编写实验程序,最后输出正确精度的实验结果。实验结果:1、实验题目求函数方程f=@(x)x*exp(x)-1的解x。初值=0.5,=0.6最大迭代次数1000次,迭代区间(0,1),精度为10^(-15)。2、实验结果① 牛顿法@1中间过程函数调用formatlong;f=
此文档下载收益归作者所有