数值分析求解非线性方程根的二分法,简单迭代法和牛顿迭代法_第1页
数值分析求解非线性方程根的二分法,简单迭代法和牛顿迭代法_第2页
数值分析求解非线性方程根的二分法,简单迭代法和牛顿迭代法_第3页
数值分析求解非线性方程根的二分法,简单迭代法和牛顿迭代法_第4页
数值分析求解非线性方程根的二分法,简单迭代法和牛顿迭代法_第5页
已阅读5页,还剩7页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

,.实验报告一:实验题目一、 实验目的掌握求解非线性方程根的二分法、简单迭代法和牛顿迭代法,并通过数值实验比较两种方法的收敛速度。感谢阅读二、 实验内容1、编写二分法、牛顿迭代法程序,并使用这两个程序计算f(x)xex20在[0,1]区间的解,要求误差小于104,比较两种方法收敛速度。感谢阅读2、在利率问题中,若贷款额为20万元,月还款额为2160元,还期为10年,则年利率为多少?请使用牛顿迭代法求解。谢谢阅读3、由中子迁移理论,燃料棒的临界长度为下面方程的根cotx=(x2−1)/2x,用牛顿迭代法求这个方程的最小正根。精品文档放心下载4、用牛顿法求方程f(x)=x3−11x2+32x−28=0的根,精确至8位有效数字。比较牛顿迭代法算单根和重根的收敛速度,并用改进的牛顿迭代法计算重根。谢谢阅读三、 实验程序第1题:f(x)xex20区间[0,1]函数画图可得函数零点约为0.5。画图函数:functionTest1()f(x)示意图,f(x)=x+exp(x)-2;f(x)=0r=0:0.01:1;精品文档放心下载y=r+exp(r)-2plot(r,y);谢谢阅读gridon二分法程序:计算调用函数:[c,num]=bisect(0,1,1e-4)感谢阅读function[c,num]=bisect(a,b,delta)感谢阅读%Input–a,b是取值区间范围-delta是允许误差%Output-c牛顿迭代法最后计算所得零点值-num是迭代次数,.ya=a+exp(a)-2;yb=b+exp(b)-2;ifya*yb>0return;endfork=1:100c=(a+b)/2;yc=c+exp(c)-2;ifabs(yc)<=deltaa=c;b=c;elseifyb*yc>0b=c;yb=yc;elsea=c;ya=yc;endifabs(b-a)<deltanum=k; %num为迭代次数break;endendc=(a+b)/2;err=abs(b-a);yc=c+exp(c)-2;牛顿迭代法程序:计算调用函数:[c,num]=newton(@func1,0.5,1e-4)感谢阅读调用函数:function[y]=func1(x)y=x+exp(x)-2;end迭代算法:function[c,num]=newton(func,p0,delta)感谢阅读%Input-func是运算公式% -p0是零点值% -delta是允许误差,.%Output-c牛顿迭代法最后计算所得零点值% -num是迭代次数num=-1;fork=1:1000y0=func(p0);dy0=diff(func([p0p0+1e-8]))/1e-8;感谢阅读p1=p0-y0/dy0;err=abs(p1-p0);p0=p1;if(err<delta)num=k;%num为迭代次数break;endendc=p0;第2题:由题意得到算式:200000∗(1+)10−2160∗12∗10=0感谢阅读计算调用函数:[c,num]=newton(@func2,0.02,1e-8)谢谢阅读程序:先用画图法估计出大概零点位置在0.02附近。感谢阅读画图程序:functionTest2()%f(x)示意图,f(x)=200000*(1+x).^10-2160*12*10;f(x)=0r=linspace(0,0.06,100);精品文档放心下载y=200000*(1+r).^10-2160*12*10;精品文档放心下载plot(r,y);gridon调用函数:function[y]=func2(r)y=200000*(1+r).^10-2160*12*10;精品文档放心下载end牛顿迭代法算法程序:function[c,num]=newton(func,p0,delta)感谢阅读%Input-func是运算公式% -p0是零点值,.% -delta是允许误差%Output-c牛顿迭代法最后计算所得零点值% -num是迭代次数num=-1;fork=1:1000y0=func(p0);dy0=diff(func([p0p0+1e-8]))/1e-8;感谢阅读p1=p0-y0/dy0;err=abs(p1-p0);p0=p1;if(err<delta)num=k;break;endendc=p0;第3题:cot =(2−1)/2 求最小正数解感谢阅读计算调用函数:[c,num]=newton(@func3,1,1e-8)程序:先用画图法估计出最小正解位置在1到2之间精品文档放心下载画图程序:functionTest3()%f(x)示意图,f(x)=cot(x)-(x.^2-1)./(2.*x);f(x)=0精品文档放心下载ezplot('cot(x)-(x.^2-1)./(2.*x)',[-6,6]);感谢阅读gridon调用函数:function[y]=func3(x)y=cot(x)-(x.^2-1)./(2.*x);谢谢阅读end牛顿迭代法算法程序:function[c,num]=newton(func,p0,delta)感谢阅读%Input-func是运算公式% -p0是零点值% -delta是允许误差%Output-c牛顿迭代法最后计算所得零点值% -num是迭代次数,.num=-1;fork=1:1000y0=func(p0);dy0=diff(func([p0p0+1e-8]))/1e-8;感谢阅读p1=p0-y0/dy0;err=abs(p1-p0);p0=p1;if(err<delta)num=k;break;endendc=p0;第4题:f(x)=x3−11x2+32x−28=0 精确至8位有效数字感谢阅读根据画图图像可得函数有一个重根在区间[1,3]和另一个根在区间[6,8]。感谢阅读计算调用函数:重根:[c,num]=newton(@func4,1,1e-8)谢谢阅读另外的单根:[c,num]=newton(@func4,6,1e-8)谢谢阅读画图程序:functionTest4()%f(x)示意图,f(x)=x.^3-11.*x.^2+32.*x-28;f(x)=0感谢阅读r=0:0.01:8;y=r.^3-11.*r.^2+32.*r-28;感谢阅读plot(r,y);gridon调用函数:functionfunc4(x)y=x.^3-11.*x.^2+32.*x-28;end牛顿迭代法算法程序:function[c,num]=newton(func,p0,delta)精品文档放心下载%Input-func是运算公式% -p0是零点值% -delta是允许误差%Output-c牛顿迭代法最后计算所得零点值,.% -num是迭代次数num=-1;fork=1:100y0=func(p0);dy0=diff(func([p0p0+1e-8]))/1e-8;精品文档放心下载if(dy0==0)c=vpa(p0,8);num=k;break;elsep1=p0-y0/dy0;err=abs(p1-p0);p0=p1;if(err<delta)num=k;break;endendendc=vpa(p0,8);改进的牛顿算法程序:function[c,num]=newton(func,p0,delta)谢谢阅读%Input-func是运算公式% -p0是零点值% -delta是允许误差%Output-c牛顿迭代法最后计算所得零点值% -num是迭代次数num=-1;fork=1:100y0=func(p0);dy0=diff(func([p0p0+1e-8]))/1e-8;感谢阅读if(dy0==0)c=vpa(p0,8);num=k;break;elsep1=p0-2*y0/dy0;%根据重根计算时,改进Newton法的收敛速度,可以采用在迭代函数中乘上重感谢阅读,.根数的方法进行改善。err=abs(p1-p0);p0=p1;if(err<delta)num=k;break;endendendc=vpa(p0,8);四、 实验结果分析第1题:根据图片可以看出函数零点的值在0.4与0.5之间,牛顿迭代法时取0.5作为迭代初值。谢谢阅读,.第2题:根据图片可以看出函数零点的值在0.02与0.03之间,可采用0.02作为迭代初值。谢谢阅读第3题:根据图片可以看出函数最小正数零点的值在1与2之间,在使用牛顿迭代法时可以采用1为迭代初值。精品文档放心下载,.第4题:根据图片可以看出函数重根为2,另一单根为7。在使用迭代法时刻采用1和6为初值进行计算。感谢阅读五、实验结论通过实验结果可以看出,二分法,简单迭代法和牛顿迭代法三种算法中,牛顿迭代法在选取适合值进行代入的情况下能得到较好的收敛效果。第1题:精品文档放心下载二分法实验结果:c=0.4429,num=11精品文档放心下载牛顿迭代法实验结果:c=0.4429,num=3感谢阅读根据结果可以看出两者计算结果相同,牛顿迭代法迭代次数为3,二分法的迭代次数精品文档放心下载为11,比较而言迭代次数牛顿迭代法比二分法小得多。精品文档放心下载第2题实验结果:零点c=0.0263,num=4谢谢阅读通过画图后能对计算结果有一个较好的估计,从而在最后获得结果,并且迭代次数也谢谢阅读较少。,.3题实验结果:零点c=1.3065,num=5。谢谢阅读cot(x)函数在π/2处无限值,画图时注意使用符号函数ezplot。以

温馨提示

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

评论

0/150

提交评论