实验五-用Newton法计算方程的根.doc

上传人:豆**** 文档编号:33466641 上传时间:2022-08-11 格式:DOC 页数:6 大小:70KB
返回 下载 相关 举报
实验五-用Newton法计算方程的根.doc_第1页
第1页 / 共6页
实验五-用Newton法计算方程的根.doc_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《实验五-用Newton法计算方程的根.doc》由会员分享,可在线阅读,更多相关《实验五-用Newton法计算方程的根.doc(6页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、精品文档,仅供学习与交流,如有侵权请联系网站删除佛山科学技术学院实 验 报 告课程名称 数值分析 实验项目 用Newton法和steffensen加速法计算方程的根 专业班级 姓名 学号 指导教师 成 绩 日 期 一. 实验目的1、 在计算机上用迭代法求非线性方程的根。二. 实验要求1、按照题目要求完成实验内容;2、写出相应的Matlab 程序;3、给出实验结果(可以用表格展示实验结果);4、分析和讨论实验结果并提出可能的优化实验。5、写出实验报告。三. 实验步骤1、 用Matlab编写Newton法和Steffensen加速法程序2、用Newton法求解书本P229例题4,Steffense

2、n加速法计算P255例题1。3、用调试好的程序解决如下问题求的根,其中控制精度,最大迭代次数。编制计算函数值的程序:四. 实验结果1、用Matlab编写Newton法和Steffensen加速法程序;利用Newton法求方程的根:function x_star, index, it=Newton(fun, x, ep, it_max)% 求解非线性方程的Newton法,其中% fun(x) - 需要求根的函数,% 第一个分量是函数值,第二个分量是导数值% x - 初始点。% ep - 精度,当|(x(k)-x(k-1)|= it_max)。% it - 迭代次数。if nargin 4 it_

3、max=100; endif nargin 3 ep=1e-5; endindex=0; k=1;while k=it_max x1=x; f=feval(fun, x); if abs(f(2)ep break; end x=x-f(1)/f(2); if abs(x-x1)ep index=1; break; end k=k+1;endx_star=x; it=k;利用steffensen加速迭代方法:function x_star, index, it=steffensen(phi, x, ep, it_max)% Steffensen 加速方法% phi(x) - 迭代函数% x -

4、初始点。% ep - 精度,当|(x(k)-x(k-1)|= it_max)。% it - 迭代次数。if nargin 4 it_max=100; endif nargin 3 ep=1e-5; endindex=0; k=1;while k=it_max x1=x; y=feval(phi,x); z=feval(phi,y); x=x-(y-x)2/(z-2*y+x); if abs(x-x1)ep index=1; break; end k=k+1;endx_star=x; it=k;2、用Newton法求解书本P229例题4,Steffensen加速法计算P255例题1。用Newto

5、n法计算书本P229例题4。(求方程f(x)=x3-x-1=0在区间1,2内的根)fun=inline(x3-x-1,3*x2-1);x_star,index,it=Newton(fun,1.5)书本P255例题1:求x=x3-1在x0=1.5附近解。phi=inline(x3-1);x_star,index,it=steffensen(phi,1.5)3、用调试好的程序解决如下问题求的根,其中控制精度,最大迭代次数。编制计算函数值的程序:由上面利用Newton法求方程的根的程序知:% ep - 精度,当|(x(k)-x(k-1)|ep时,终止计算。省缺为1e-5% it_max - 最大迭代

6、次数,省缺为100if nargin 4 it_max=100; endif nargin f(x) #这表示在计算机已经完成了函数f(x)的定义。(2)定义f(x)的导函数g(x),在程序工作区中输入:Diff(f(x),x);执行后,返回结果为: 2+1/x #得到了f(x)的导函数。继续输入:g(x)2+1/x;这表示在计算机已经完成了函数g(x)的定义。 (3)在下面输入:NewtonMethod(x0,h) x=x0-f(x0)/g(x0); if(abs(x-x0) NewtonMethod(x0,h) #这表示在计算机已经完成了函数NewtonMethod(x0,h)的定义。(三

7、)设定初值为2、要求误差不大于0.001的近似解 (1)在下面输入: Float(1); 执行后,返回结果为: 计算结果显示浮点数 # (2)在下方继续输入: NewtonMethod(2,0.001); 执行命令最后的返回结果是: (-2*ln(2)*ln(-2*ln(2)+14)/(5)*ln(2*ln(2)*ln(-2*ln(2)+14)/(5)-14*ln(2)-14*ln(-2*ln(2)+14)/(5)+98)/(-4*ln(2)+33)+14*ln(2)*ln(-2*ln(2)+14)/(5)+14*ln(2)*ln(2*ln(2)*ln(-2*ln(2)+14)/(5)-14*

8、ln(2)-14*ln(-2*ln(2)+14)/(5)+98)/(-4*ln(2)+33)-98*ln(2)+14*ln(-2*ln(2)+14)/(5)*ln(2*ln(2)*ln(-2*ln(2)+14)/(5)-14*ln(2)-14*ln(-2*ln(2)+14)/(5)+98)/(-4*ln(2)+33)-98*ln(-2*ln(2)+14)/(5)-98*ln(2*ln(2)*ln(-2*ln(2)+14)/(5)-14*ln(2)-14*ln(-2*ln(2)+14)/(5)+98)/(-4*ln(2)+33)+686)/(4*ln(2)*ln(-2*ln(2)+14)/(5)-32*ln(2)-28*ln(-2*ln(2)+14)/(5)+229)=2.53492 # 其中前半部分是没有处理的精确值,最后是浮点数表示的结果2.53492。观察以上程序,显然比较简单,可以直接计算出函数精确值,这也为我们提供了另外一种方法实现Newton迭代。同理,我们一样可以在该软件实现Steffensen迭代法,在这就不展开了。综合以上有关z-z操作内容是我最近在学的一个软件,虽然学得还不是很好,但有关的程序可以在不同软件实现,我觉得可以多去操作,不同的数学软件可以解决不同的数学问题,但很多还是有共性,所以这有待我进一步学习。【精品文档】第 6 页

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

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com