数值计算(二分法、简单迭代法、newton迭代法、弦截法(割线法、双点弦法)).docx

上传人:黑** 文档编号:71884694 上传时间:2022-04-07 格式:DOCX 页数:15 大小:102.83KB
收藏 版权申诉 举报 下载
数值计算(二分法、简单迭代法、newton迭代法、弦截法(割线法、双点弦法)).docx_第1页
第1页 / 共15页
数值计算(二分法、简单迭代法、newton迭代法、弦截法(割线法、双点弦法)).docx_第2页
第2页 / 共15页
数值计算(二分法、简单迭代法、newton迭代法、弦截法(割线法、双点弦法)).docx_第3页
第3页 / 共15页
资源描述:

《数值计算(二分法、简单迭代法、newton迭代法、弦截法(割线法、双点弦法)).docx》由会员分享,可在线阅读,更多相关《数值计算(二分法、简单迭代法、newton迭代法、弦截法(割线法、双点弦法)).docx(15页珍藏版)》请在装配图网上搜索。

1、本科生实验报告实验课程数值计算方法学院名称信息科学与技术学院专业名称计算机科学与技术学生姓名学生学号指导教师实验地点实验成绩二。一六年五月O六年五月附录:源程序清单#include#includeusing namespace std;double foot =0.3;int a=-8,b=8;double *rn=new doublc(5; double *r = new double5; int m=();int x_count;double precision=0.0000();;定义寻根步长解的区间/方程近似解根的个数精度要求函数的表达式(xA5-3xM+x-l) double f(d

2、ouble x)(return (pow(x,5)-3*pow(x,3)+x-1); void init() r0=-l.5; rH=-l; r2J=1.6; m0=-l .6; rn =-1.2; m2=1.5;根据函数图像确定根的区间和迭代初值寻找根的区间void search()若没有给出区间和初值,进行逐步搜索有根区间for(int i=0;i*fbot-88;i+)(if(f(i*foot-8)*f(i+1 )*foot-8)precision)mid = (a+b)/2;if(f(a)*f(mid)v=() b=mid;判断与端点函数值得符号else a=mid;coutmidcn

3、dl;rx_count+=mid;return mid;/返回最终结果)=简单迭代法= 构造迭代公式double lnera(double x)double result=0;double xx= *pow(x,3)-x+1;if(xxprecision)x0=x1;x I=fitera(xO);没有到达精度要求继续迭代coutxlendl;return xl;返最终结果/=牛顿迭代法= 计算函数的一阶导数fderivatives (double x) double fderiva(ives(double x)return 5*pow(x,4)-9*(x,2)+1;构造牛顿迭代公式new(on

4、itera(double x) double newtonitera(doublc x)if(fderivatives(x)=O) return -I;elsereturn x-(f(x)/fderivatives(x);)若导数为0则停止迭代牛顿迭代double newton(doublc x0)(double x I =newlonitera(xO); while(fabs(x 1 -xO)precision) x()=x 1;if (newtonitera(xO)=-1) break;x 1 =ncwtonitcra(xO); coutxlendl;)return xl;继续迭代返回最终

5、结果=双点弦法迭代=:构造弦截法的迭代公式double twopointchord_f(double xO,double xl) return x 1 -(f(x l)/(f(x 1 )-f(xO)*(x 1 -xO);双点弦法迭代double twopointchord(double xO,double xl)double x3=twopointchord_f(x0,x 1); coutx3endl;while(fabs(f(x3)precision)( coutf(x3) f(x3)endl; xO=x1;xl=x3; x3=twopointchord_f(x0,x 1);/ coutx3

6、endl;coutf(x3)cndl;return x3;输出x3的函数值没有到达精度要求继续迭代返回最终结果测试void main()(ini();初始化区间和迭代初值/*测试代码输出每次的迭代结果和最终结果cout二分法endl;for(int i =0;i3;i+)double rcsult=0;cout有根区间为,milmri+footendl;result=Dichotomy(rnli,rni+foot);将区间端点带入公式cout求得近似解为resultendl;Icout迭代法endl;for(i =0;i3;i+)double result=0;cout有根区间为rni”rn

7、国+footv”vvendl;double xO =ri;取得初值result=itera(xO);带入公式cout求得近似解为rcsultcndl;cout牛顿迭代”vvcndl;for(i =0;i3;i+)(double result=0;cout有根区间为,mivvrni+foot”vendl;double xO =rij;取得初值result=newton(xO);带入公式cout求得近似解为rcsultcndl;cout弦截法endl;for(i =0;iv3;i+)double result=0;cout有根区间为 f,mfiln”vvmi+footvvTvvendl;resul

8、t=twopointchord(mi,rnlij+foot);将区间端点带入公式cout求得近似解为vvresultvvendl;I在这次实验中,通过编程将二分法、简单迭代法、Newton迭代法、弦截法(割线法、双点弦法)以代码的方式实现,这不仅是一次实践过程,更是对这些求解方程的方法的深入理解,体会们各自的算法思想。 也提高的我对数值计算中的经典方法其中蕴藏的算法思想的兴趣,这 些思想方法对以后的问题的解决以及编程思想都是很有帮助的。学生实验心得虽然在实验过程中遇到了一些问题,但是通过查询资料以及不断的 调试程序都得以解决。这也让我认识到只要深入理解,坚持不懈,就 一定能够成功的。我会将这次

9、的实验的宝贵经验实践到以后的学习 中,希望能在不断的锻炼中提升自己!学生(签名):年 月 日指导教师评语成绩评定:指导教师(签名):年 月 日实验一非线性方程求根1.1问题描述实验目的:掌握非线性方程求根的基本步骤及方法,。实验内容:试分别用二分法、简单迭代法、Newton迭代法、弦截法(割线法、 双点弦法),求x5-3x3+x-1= 0在区间-8,8上的全部实根,误差限为IO%。要求:讨论求解的全过程,对所用算法的局部收敛性,优缺点等作分析及比 较,第2章算法思想2. 1二分法思想:在函数的单调有根区间内,将有根区间不断的二分,寻找方程的解。 步骤:1.取中点 mid=(x0+xl)/22.

10、若f(mid)=0,则mid为方程的根,否则比较与两端的符号,若与f(xO) 异号,则根在x0,mid之间,否则在mid,xl之间。3并重复上述步骤,直达达到精度要求,则mid为方程的近似解。2. 2简单迭代法思想:迭代法是一种逐次逼近的方法,它是固定公式反复校正跟的近似值, 使之逐步精确,最后得到精度要求的结果。步骤:1.构造迭代公式f(x),迭代公式必须是收敛的。2. 计算 xl,xl=f(xO).3.判断Ixl-xOl是否满足精度要求,如不满足则重复上述步骤。4.输出xl,即为方程的近似解。f为迭代函数2. 3 Newton迭代法思想:设r是f(x) = Q的根,选取xo作为r的初始近似

11、值,过点(由响故曲线9 =,(工)的切线L, L的方程为y=f(&)+尸(xo)(x-xo),求出L与x轴交点的/(xo)横坐标“一 X7W,称X】为r的一次近似值。过点(xi,f (%)做曲线y = f(x)fM的切线,并求该切线与X轴交点的横坐标* 一 “一 (方),称巧为r的二次近似X =x S)值。重复以上过程,得r的近似值序列,其中,+尸(x)称为r的1次近似值步骤:1.计算原函数的导数f (x);构造牛顿迭代公式/(X0)X = X。一;2.计算”X。),若f (xO)二0,退出计算,否则继续向下迭代。3.若|xl-xO|满足精度要求,xl即为方程的近似解。2. 4弦截法思想:为加

12、速收敛,改用两个端点都在变动的弦,用差商替代牛顿迭代公式 的导数r(x)o步骤:1.构造双点弦法的公式2. 计算 x2=x 1 -f(x l)(x l-xO)/f(x l)-f(xO);3. 判断f(x2)是否满足精度要求,若没有则按照上述步骤继续迭代, 否则输出x2.x2即为方程的近似解。第3章测试结果及分析测试结果函数图像二分法(表 1-1, 1-2, 1-3)-1. 6, -1. 3kxkkxkkxk0-1.455-1. 5015610-1.504931-1.5256-1. 5039111-1.5052-1.48757-1. 5050812-1.505043-1.506258-1. 50

13、44913-1.505064-1. 496889-1.5047914-1.50507表1-1区间-1. 2, -0. 9kxkkxkkxk0-1.055-0.99843710-1. 000051-0. 9756-1. 0007811-0.9999762-1.01257-0. 99960912-1.000013-0.993758-1. 000213-0.9999944-1.003129-0.99990214-1表1-2区间1.5, 1.8kxkkxkkxk01.6571.69102141.6902911.72581. 69043151.6902921.687591.69014161.690293

14、1.70625101.69028171.6902841.69687111.69036181.6902851.69219121.6903261.68984131.6903表1-3简单迭代法(表2-1.2-2.2-3)初值T.5表2-1kxkkxkkxk1-1.57-1.5043513-1.504932-1.502178-1.5045311-1.504973-1.502879-1.50466151. 504994-1.5034110-1. 5047616-1.505015-1.5038111-1.5048317-1.505046-1.5041212-1.5048918-1.50505初值TkX1-

15、12-1初值1.6 结果 x= 1.69028表2-3kxkkxkkxk11.681.68862151.6902321.6566991.68927161.6902531.66987101.68967171.6902741.6779111.68991181.6902751.68278121.69006191.6902861.68573131.69015201.6902871.68753141.6902牛顿迭代法(表3-1.3-2, 3-3)初值-1. 5 结果 x=-l. 50507表3-1kxkkxk1-1.54-1.505042-1.504715-1.505063-1.504976-1.50

16、507初值T 结果 x=-l. 50507表3-2kX1-12-1初值1.6 结果x= 1.69028表3-3kxkkxk11.651.6902421.6860261.6902731.6889371.6902841.6898581.69028双点弦法(表4-1.4-2, 4-3)区间-1.6,-1.3 结果 x=-l. 50507表4-1kxkf(xk)kxkf(xk)1-1.50. 031255-1.506670. 07845662-1.661490. 3765026-1.505-0.0100793-1.47175-1.563227-1.505070.0004409884-1.4920. 1

17、868018-1.505072.30387e-006区间-1. 2, -0. 9结果 x= -1表4-2kxkf(xk)1-1.013930.04156782-1.00020.0006077773-0.999999-3.11969e-0064-12.11OOle-OIO区间1.5, 1.8结果 x= 1.69028表4-3kxkf(xk)11. 64403-0.67645521.68071-0.15110631.691260.015798841.69027-0.00031351551.69028-6.3006e-007从测试结果可以看出二分法和简单迭代法的收敛速度远大于牛顿迭代和弦 截法的收敛速度。二分法和简单迭代法的公式易于构造和计算,牛顿迭代法虽然 收敛高,但要求导数,计算的复杂度高!双点弦法随稍慢于牛顿跌代法,可以用 差商代替牛顿迭代法中的导数,降低了计算的复杂度!

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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