版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、佛山科学技术学院实 验 报 告课程名称 数值分析 实验项目 用Newton法和steffensen加速法计算方程的根 专业班级 姓名 学号 指导教师 成 绩 日 期 一. 实验目的1、 在计算机上用迭代法求非线性方程的根。二. 实验要求1、按照题目要求完成实验内容;2、写出相应的Matlab 程序;3、给出实验结果(可以用表格展示实验结果);4、分析和讨论实验结果并提出可能的优化实验。5、写出实验报告。三. 实验步骤1、 用Matlab编写Newton法和Steffensen加速法程序2、用Newton法求解书本P229例题4,Steffensen加速法计算P255例题1。3、用调试好的程序解
2、决如下问题求的根,其中控制精度,最大迭代次数。编制计算函数值的程序:四. 实验结果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)|<ep时,终止计算。省缺为1e-5% it_max - 最大迭代次数,省缺为100% x_star - 当迭代成功时
3、,输出方程的根,% 当迭代失败时,输出最后的迭代值。% index - 当index=1时,表明迭代成功,% 当index=0时,表明迭代失败(迭代次数 >= 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; 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
4、k=k+1;endx_star=x; it=k;利用steffensen加速迭代方法:function x_star, index, it=steffensen(phi, x, ep, it_max)% Steffensen 加速方法% phi(x) - 迭代函数% x - 初始点。% ep - 精度,当|(x(k)-x(k-1)|<ep时,终止计算。省缺为1e-5% it_max - 最大迭代次数,省缺为100% x_star - 当迭代成功时,输出方程的根,% 当迭代失败时,输出最后的迭代值。% index - 当index=1时,表明迭代成功,% 当index=0时,表明迭代失败(
5、迭代次数 >= 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。用Newton法计算
6、书本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时,终止计算。省缺
7、为1e-5% it_max - 最大迭代次数,省缺为100if nargin <4 it_max=100; endif nargin <3 ep=1e-5; end我们只需改动:it_max=40; ep=1e-10, 其余不变 。利用以上程序,我们只需输入:fun=inline('exp(5*x)-sin(x)+(x)3-20,5*exp(5*x)-cos(x)+3*(x)2');x_star,index,it=Newton(fun,0.5),可得:x_star = 0.602596203566521index = 1it = 6 同理,在steffensen加速
8、迭代方法的程序中,我们只需改动:it_max=40; ep=1e-10, 其余不变 。利用以上程序,我们只需输入: phi=inline('exp(5*x)-sin(x)+(x)3-20');x_star,index,it=steffensen(phi,0.5)可得:x_star = 0.637246094753909index = 0it = 41五. 讨论分析当初始值选取离零点较远时将导致算法无法使用,例如第三题,将初始值改为2就无法计算出结果了,显示如下例如求的根,其中控制精度,最大迭代次数,在steffensen加速迭代方法的程序中,我们只需改动:it_max=40;
9、ep=1e-10, 其余不变 。利用以上程序,我们只需输入: phi=inline('exp(5*x)-sin(x)+(x)3-20');x_star,index,it=steffensen(phi,0.5)可得:x_star = 0.637246094753909index = 0it = 41观察上述结果,index = 0,it = 41表明迭代失败,所以使用以上方法估计的时候,应该尽量估计出解的范围,偏离不应过大,距离增加迭代次数增加,也有可能迭代失败六. 改进实验建议根据上述分析,我认为,应该先对函数作一个简图,方便知道解的大概位置,然后我们才将这个大概值代入Newt
10、on法或者Steffensen中进行求解。当然,我们可以用其他数学软件实现Newton迭代法,我们可以用z-z超级画板,其操作流程为:牛顿迭代法的公式是:xn+1=xn-f(xn)/f'(xn)。下面我们就用牛顿迭代法设计程序求方程f(x)=ln(x)+2*x-6的近似解。(一)观察方程f(x)=0的零点位置 (1)显示坐标系的坐标刻度。 (2)作出函数y=ln(x)+2*x-6的图像,如下图所示: 可以观察到方程的根在区间2,3上,我们可以设定近似解的初始值为2。(二)设计求方程近似解的程序 (1)在程序工作区中输入:f(x)ln(x)+2*x-6;执行后,返回结果为:>>
11、; 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)<=h)return x; elseNewtonMethod(x,h); 执行后,返回结果为:>> NewtonMethod(x0,h) #这表示在计算机已经完成了函数Ne
12、wtonMethod(x0,h)的定义。(三)设定初值为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
13、(2)*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)+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 # 其中前半部分是没有处理的精确值
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中学物理学中的数学问题上
- 幼儿园教师专业反思深度与教学改进关联-基于2023年反思日记文本与课堂视频对比
- 美育基础概述 5
- 机械工程控制基础
- 金属五金配件、滑轨机箱生产项目可行性研究报告模板-立项拿地
- 福建省龙岩市2025-2026学年高二下学期4月期中联考历史试卷
- 新闻记者证考试(新闻采编实务)考前模拟试题及答案(山西省临汾市2025年)
- 建筑施工企业安全生产社会监督规定
- 2.0万吨年海绵钛、2.0千吨年海绵锆项目可行性研究报告模板-申批征地立项
- 溴苯肼企业数字化转型与智慧升级战略分析报告
- 2026重庆北碚区静观镇招聘在村挂职本土人才8人考试参考题库及答案解析
- 2025年神农架林区公安局招聘辅警真题
- 2026“才聚齐鲁 成就未来”山东铁投能源集团、山东清洁热网有限公司招聘128人笔试参考试题及答案详解
- (2026年)检验检测机构资质认定“一单一库”的学习与解读(2026年实施)课件
- 支气管哮喘患者急救措施
- 24J113-1 内隔墙-轻质条板(一)
- 公共卫生执业医师实践技能考试试题及答案
- 特种设备安全管理2026版
- 足球场场地排水施工方案
- 《青蒿素:人类征服疾病的一小步》课文原文与同步练习
- 2023式警车外观制式涂装规范
评论
0/150
提交评论