非线性方程的简单迭代法和Steffensen迭代法(共8页).doc

上传人:飞****2 文档编号:14973801 上传时间:2022-05-09 格式:DOC 页数:8 大小:119KB
返回 下载 相关 举报
非线性方程的简单迭代法和Steffensen迭代法(共8页).doc_第1页
第1页 / 共8页
非线性方程的简单迭代法和Steffensen迭代法(共8页).doc_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《非线性方程的简单迭代法和Steffensen迭代法(共8页).doc》由会员分享,可在线阅读,更多相关《非线性方程的简单迭代法和Steffensen迭代法(共8页).doc(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上数值计算方法实验报告实验名称:实验1 非线性方程的简单迭代法和Steffensen迭代法实验题目:分别用简单迭代法和Steffensen迭代法求方程 在 1, 2 内的一个实根. 实验目的:理解并掌握简单迭代法和Steffensen迭代法基础理论:简单迭代法和Steffensen迭代法1) .简单迭代法的原理:将一元非线性方程: 改写成等价方程: ,对此,从某个初始值x0开始,对应式 构成迭代公式 ,这样就可以确定序列 (k=0,1,2)。如果 有极限 ,由式 两边取极限可得 ,可知 为方程的近似解。2) Steffensen迭代法的原理: 通过把改进的Aitken方

2、法应用于根据不动点迭代所得到的线性收敛序列,将收敛速度加速到二阶。 实验环境:操作系统:Windows 7; 实验平台:Turbo C+ 实验过程:写出算法编写程序调试运行程序计算结果1) 简单迭代法的算法:Input:初始近似值x0,精度要求del,最大迭代次数NOutput:近似解x或失败信息1. n12. While nN do;3. xf(x0);4. if | x-x0|del then5. | return x;6. end7. nn+1;8. X0x;9. End10. return False;/ 超出最大迭代次数2) Steffensen迭代法的算法:Input : 区间端点

3、a,b;精度要求del;最大迭代次数NOutput:近似解或失败信息1. n12. while n N do;3. yf(x0);4. zf(y);5. xx0;6. If |x-x0|del then;7. | return x;8. end9. nn+1;10. x0x;11. end12. return False;实验结果 a,用简单迭代法计算的结果 结果约为1. b.用Steffensen迭代法计算的结果: 近似解为:1. 给出程序:1,简单迭代法的程序(C+)#include stdio.h#include math.h#define phi(x) 0.5*sqrt(10-x*x*

4、x)void main()int n=1,N; float x,x0,del; printf(x0=); scanf(%f,&x0); printf(ndel=:); scanf(%f,&del); printf(nN=); scanf(%d,&N); printf(nk x(k); printf(n %2d %f ,0,x0); while (nN) x=phi(x0); if(fabs(x-x0)del) printf(n n=近似解 = %f n,x); return; printf(n %2d %f ,n,x0); n=n+1; x0=x; printf(n n%d次迭代后未达到精度要

5、求.n,N);2,Steffensen迭代法的程序(C+)#include stdio.h#include math.h#define phi(x) 0.5*sqrt(10-x*x*x);void main()int n=1,N; float x,x0,del,y,z,a,b; printf(x0=); scanf(%f,&x0); printf(ndel=:); scanf(%f,&del); printf(na=); scanf(%f,&a); printf(nb=); scanf(%f,&b); printf(nN=); scanf(%d,&N); printf(nk x(k); pri

6、ntf(n %2d %f ,0,x0); while (nN) y=phi(x0); z=phi(y); x=x0-(y-x0)*(y-x0)/(z-2*y+x0); if(fabs(x-x0)del) printf(n n=近似解 = %f n,x); return; printf(n %2d %f ,n,x0); n=n+1; x0=x; printf(n n%d次迭代后未达到精度要求.n,N);结果分析:1.用简单迭代法和Steffensen迭代法都能求出非线性方程的近似解,且用简单迭代法和Steffensen迭代法求出的近似解基本一样。 2.用Steffensen迭代法来求解时迭代的次数少很多,可见Steffensen迭代法加速了收敛速度。专心-专注-专业

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

当前位置:首页 > 教育专区 > 教案示例

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁