




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上精选优质文档-倾情为你奉上专心-专注-专业专心-专注-专业精选优质文档-倾情为你奉上专心-专注-专业实验七 非线性方程求根一、实验目标1. 掌握常用的非线性方程求根算法(二分法、不动点迭代法与Newton法)及加速技术(Aitken加速与Steffsen加速).2. 会编写计算机程序实现给定迭代函数的迭代算法及其加速;掌握迭代算法的精度控制方法.二、实验问题求代数方程 的实根.三、实验要求1方程有一个实根:. 将方程以下面六种不同方式等价地改写,构造迭代格式,计算 :(a) , (b) , (c) ,(d) (e) , (f) .2. 对每一种迭代格式,编制一个程序进
2、行运算,观察每种格式的敛散情况;用事后误差估计来控制迭代次数,并且输出迭代的次数;观察不同初值的结果.3. 从理论上分析各种格式的收敛性及收敛阶.4. 将收敛较慢的一种格式分别用Atken 方法及 Steffsen 方法加速,通过输出结果了解加速效果.5. 将一种不收敛的方法用Steffsen 方法加速得到收敛的迭代.附录一:数值分析实验报告(模板)【实验课题】 用牛顿迭代法求非线性方程根 【实验目标】明确实验目标1. 掌握常用的非线性方程求根算法(二分法、不动点迭代法与Newton法)及加速技术(Aitken加速与Steffsen加速).2. 会编写计算机程序实现给定迭代函数的迭代算法及其加
3、速;掌握迭代算法的精度控制方法.3探索不同方式改写方程的收敛程度【理论概述与算法描述】牛顿法 设已知方程f(x)=0有近似根 xk,将函数f(x)在点xk展开,有 f(x)=f(xk)+f(xk)(x-xk),于是方程可表示为 f(xk)+f(xk)(x-xk)=0, 这是个线性方程,记其根为x(k+1), 则x(k+1)=xk-f(xk)/f(xk),这就是牛顿迭代法求根. 埃特金加速收敛方法 设是根的某个近似值,用迭代一次得,而由微分中值定理,有 其中介于和之间。假设改变不大,近似地取某个近似值L,则有 若将校正值再迭代一次,又得由于将它与前面的式子联立,消去未知的L,有 由此推知 ,记
4、称为埃特金加速方法。斯特芬森迭代法 将埃特金加速技巧与不动点迭代结合,则可得到如下的迭代法 即为斯特芬森迭代法【实验问题】 1.求代数方程 的实根.2方程有一个实根:. 将方程以下面六种不同方式等价地改写,构造迭代格式,计算 :(a) , (b) , (c) ,(d) (e) , (f) .3. 对每一种迭代格式,编制一个程序进行运算,观察每种格式的敛散情况;用事后误差估计来控制迭代次数,并且输出迭代的次数;观察不同初值的结果.4. 从理论上分析各种格式的收敛性及收敛阶.5. 将收敛较慢的一种格式分别用Atken 方法及 Steffsen 方法加速,通过输出结果了解加速效果.6. 将一种不收敛
5、的方法用Steffsen 方法加速得到收敛的迭代.【实验过程与结果】用matlab编程计算代数方程的根分别编写6个迭代法编程,对结果进行分析【结果分析、讨论与结论】迭代公式1:x1 = 2.0000 1.5000 2.0000 1.5000 2.0000 1.5000 2.0000 1.5000 2.0000 1.5000 2.0000 1.5000 2.0000 1.5000 2.0000 1.5000 2.0000 1.5000 2.0000 1.5000迭代公式2:x2 = 1.0e+142 * 0.0000 0.0000 -0.0000 -0.0000 -0.0000 -0.0000
6、-0.0000 -0.0000 -0.0000 -1.4947 -Inf -Inf -Inf -Inf -Inf -Inf -Inf -Inf -Inf -Inf迭代公式3:x3 = 2.0000 3.3166 3.8665 4.0743 4.1500 4.1773 4.1871 4.1906 4.1919 4.1923 4.1925 4.1926 4.1926 4.1926 4.1926 4.1926 4.1926 4.1926 4.1926 4.1926迭代公式4:x4 = 2.0000 5.0000 0.2273 -1.6959 -40.3095 0.0031 -1.6667 -22.5
7、018 0.0099 -1.6667 -22.5185 0.0099 -1.6667 -22.5185 0.0099 -1.6667 -22.5185 0.0099 -1.6667 -22.5185迭代公式5:x5 = 2.0000 2.3452 2.2654 2.2819 2.2784 2.2791 2.2790 2.2790 2.2790 2.2790 2.2790 2.2790 2.2790 2.2790 2.2790 2.2790 2.2790 2.2790 2.2790 2.2790迭代公式6:x6 = 2.0000 2.3333 2.2806 2.2790 2.2790 2.279
8、0 2.2790 2.2790 2.2790 2.2790 2.2790 2.2790 2.2790 2.2790 2.2790 2.2790 2.2790 2.2790 2.2790 2.2790从上述的运算结果可以看出,迭代公式1、2、4不收敛,3虽然收敛,但与其他迭代法的结果差异太大,对5和6分别用埃特金加速和斯特芬森迭代得到结果如下:对于5埃特金加速结果:B = 2.0000 2.2804 2.2791 2.2790 2.2790 2.2790 2.2790 2.2790 2.2790 2.2790 2.2790 2.2790 2.2790 2.2790 2.2790 2.2790 2
9、.2790 2.2790 2.2790 0斯特芬森迭代结果:x = 2.0000 2.1547 2.2792 2.2790 2.2790 2.2790 2.2790 2.2790 2.2790 2.2790 2.2790 2.2790 2.2790 2.2790 2.2790 2.2790 2.2790 2.2790 2.2790 2.2790对于6埃特金加速结果:B = 2.0000 2.2878 2.2790 2.2790 2.2790 2.2790斯特芬森迭代结果:x = 2.0000 2.1544 2.2838 2.27902.2790从以上结果可以看出,埃特金加速方法和斯特芬森迭代法
10、确实可以加快收敛速度,且在此题的情况下,两种方法的加速效果差不多,但埃特金加速方法较斯特芬森迭代法来说更为简单易理解,运算步骤也少一些,因此对于此题,我们可以选用埃特金加速方法。【附程序】function k,x,da,g= newton(x0,tol)k=1;g1=fun1(x0);g2=fun2(x0);x1=x0-g1/g2;while abs(x1-x0)tol x0=x1; g1=fun1(x0); g2=fun2(x0); k=k+1; x1=x0-g1/g2;endk;x=x1;da=abs(x1-x0)/2;g=fun1(x);endfunction g1=fun1(x)g1=
11、x3-3*x-5;endfunction g2=fun2(x)g2=3*x2-3;endfunction g1=fun1(x)g1=x3-3*x-5;endfunction x=Aitken(A);n=length(A);x=zeros(n,1);t=0;x(1)=A(1);for i=1:n-2 x(i+1)=A(i)-(A(i+1)-A(i)2)/(A(i)-2*A(i+1)+A(i+2);endfunction x=Steffsen(A,B)n=length(B);x=zeros(n,1);x(1)=B(1);for i=2:n x(i)=A(i)-(B(i-1)-A(i)2)/(B(i
12、)-2*B(i-1)+A(i);end%构造迭代算法x=(3*x+5)/(x2)function x=diedai1(x0,tol,N)%x0 是初值,tol为迭代精度,N是迭代最大次数x=zeros(N,1);x(1)=x0;k=1;t=0;while k=N for i=2:N x(i)=(3*x(i-1)/(x(i-1)2); end k=k+1; t=x(i)-x(i-1); if abs(t)=tol break; endend%构造迭代算法x=(x3-5)/3function x=diedai2(x0,tol,N)%x0 是初值,tol为迭代精度,N是迭代最大次数x=zeros(N
13、,1);x(1)=x0;k=1;t=0;while k=N for i=2:N x(i)=(x(i-1)3-5)/3; end k=k+1; t=x(i)-x(i-1); if abs(t)=tol break; endend%构造迭代算法x=(3*x+5)(1/3)function x=diedai3(x0,tol,N)%x0 是初值,tol为迭代精度,N是迭代最大次数x=zeros(N,1);x(1)=x0;k=1;t=0;while k=N for i=2:N x(i)=(3*x(i-1)+5)(1/2); end k=k+1; t=x(i)-x(i-1); if abs(t)=tol
14、break; endend%构造迭代算法x=5/(x2-3)function x=diedai4(x0,tol,N)%x0 是初值,tol为迭代精度,N是迭代最大次数x=zeros(N,1);x(1)=x0;k=1;t=0;while k=N for i=2:N x(i)=5/(x(i-1)2-3); end k=k+1; t=x(i)-x(i-1); if abs(t)=tol break; endend%构造迭代算法x=sqrt(3+5/x)function x=diedai5(x0,tol,N)%x0 是初值,tol为迭代精度,N是迭代最大次数x=zeros(N,1);x(1)=x0;k=1;t=0;while k=N for i=2:N x(i)=sqrt(3+5/x(i-1); end k=k+1; t=x(i)-x(i-1); if abs(t)=tol break; endend%构造迭代算法x=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教版七年级上册美术教学设计
- 二零二五版项目融资担保贷款合同书范例
- 【中学】【育人故事】成为“永动机”男孩
- 油气装备行业发展趋势与未来市场展望分析
- 东莞2025年广东东莞市中心血站招聘未过渡聘员笔试历年参考题库附带答案详解
- 上海2025年国网上海市电力公司高校毕业生招聘(第一批)笔试历年参考题库附带答案详解
- 《第一单元 认识几何画板 第3课 作点和线 作点》教学设计教学反思-2023-2024学年初中信息技术人教版八年级下册
- 小学英语外研版 (三年级起点)六年级下册Module 8Unit 2 Why are you wearing a hat教案设计
- 劳动项目九 拖地 (教学设计)2023-2024学年人教版《劳动教育》二年级下册
- 推动县级医疗人才培养的创新路径与实践策略
- 牛津译林7A-Unit3、4单元复习
- 扎钢机控制系统的MCGS界面控制设计
- 超声波探伤作业指导书
- 课程思政视域下小学音乐教学策略初探 论文
- 微风发电系统施工方案
- 机械设计说明书-精炼炉钢包车设计
- E+-H-Promass-80流量计基本操作步骤说明书
- 中国传统文化之中国古代科技PPT
- 心力衰竭护理业务查房
- 粉尘防爆安全知识考试试题
- 固定床列管式反应器设计说明书(曾礼菁)
评论
0/150
提交评论