牛顿迭代法实验报告

牛顿迭代法实验报告

ID:47479536

大小:131.50 KB

页数:5页

时间:2020-01-11

牛顿迭代法实验报告_第1页
牛顿迭代法实验报告_第2页
牛顿迭代法实验报告_第3页
牛顿迭代法实验报告_第4页
牛顿迭代法实验报告_第5页
资源描述:

《牛顿迭代法实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、用牛顿迭代法求非线性方程的根一、实验题目求方程在附近的根。二、实验引言(1)实验目的1.用牛顿迭代法求解方程的根2.了解迭代法的原理3.改进和修缮迭代法(2)实验意义牛顿迭代法就是众多解非线性方程迭代法中比较普遍的一种,求解方便实用。三、算法设计(1)基本原理给定初始值,为根的容许误差,为的容许误差,N为迭代次数的容许值。1.如果或迭带次数大于N,则算法失败,结束;否则执行2.2.计算.3.若或,则输出,程序结束;否则执行4.4.令,转向1.(2)流程图一、程序设计programnndd01implicitnone

2、real,parameter::e=0.005real,parameter::n=9real::x1real::x0=1.5integer::kreal,external::f,ydok=1,9if(y(x0)==0)thenwrite(*,*)"失败"elsex1=x0-f(x0)/y(x0)if(abs(x1-x0)

3、turnendfunctionfunctiony(x)implicitnonereal::yreal::xy=3*x*x-1returnendfunction一、求解结果31.32471841.32471851.32471861.32471871.32471881.32471891.324718二、算法评价及讨论1.在求解在1.5处附近的根,不难发现在输入区间左端值为1时需要迭代6次,而输入区间左端值为1.5时,却只要4次。初值更接近方程根时,迭代次数越少。1.在实验中,都是选取的区间左端值作为初次迭代值,而没有用

4、到右端,应该设置左右端值作为迭代初值,比较它们的迭代次数,这样可以得到更少的迭代次数。2.在编写代码过程中,有几点疑惑,左右两端的导数是否会影响迭代次数,也就是选取哪个端点值迭代的问题。3.怎么样求出方程所有的根,在根的附近,得到解后程序就结束运行,如何将方程所有的根找出。4.怎么进一步加速迭代将是牛顿法进一步需要改进的问题。5.迭代过程中,导数值比较小,会导致误差比较大,如何规避。附:二分法程序programerfenfaimplicitnonereal::a=1.0000real::b=1.5000real,p

5、arameter::k=0.0050realx,y1,f,y2write(*,*)"a=,b="read(*,*)a,bdowhile(b-a>k)y1=a*a*a-a-1x=(a+b)/2f=x*x*x-x-1y2=fif(y1*y2>0)thena=xelseb=xendifwrite(*,*)x,y2enddostopend一般迭代法程序programmainimplicitnonereal::x0integer::kreal::x1integer,parameter::N=9real,external::f

6、k=0x0=1.5dowhile(k<=N)k=k+1write(*,*)k,x0x0=f(x0)enddoendfunctionf(x)real::x,ff=(x+1)**(real(1)/real(3))returnend

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。