数值分析.doc_第1页
数值分析.doc_第2页
数值分析.doc_第3页
数值分析.doc_第4页
数值分析.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

吉林农业大学 教学实习报告学 院 信息技术学院 专 级 年 级 信息与计算科学三班 姓 名 广告歌 学 号 111111111 指 教 教 师 张红芹 2012年 6 月 15 日实习名称牛顿法、弦截法、共轭梯度法、最速下降法实习地点信息技术学院六楼实习起止时间2012年6月132012年6月15实习报告一、实验目的(1)学会用二分法、牛顿法、弦截法求方程的根;(2)学会用共轭梯度法、最速下降法求解方程组,熟悉Matlab编程环境。二、实验环境 Windows XP MATLAB R2009b三、实验原理、二分法(1)取初始有根区间(满足),以及精度要求,;(2)若或,则停止计算;(3)取,若,则置,否则置;(4)转(2)。、牛顿法 设已知方程的近似根,则在附近可用一阶泰勒多项近似代替.因此,方程可近似地表示为.用表示的根,它与的根差异不大.设,由于满足解得重复这一过程,得到迭代格式这就是著名的牛顿迭代公式,它相应的不动点方程为 、弦截法1、弦截法的数学原理弦截法是在牛顿法的基础上得出的求解非线性方程的一种十分重要的插值方法。用牛顿法求解非线性方程的根时,每一步都要计算导数值,如果函数比较复杂时,计算导数往往比较困难。而弦截法使用差商来代替牛顿法中的导数值进行迭代,避免了计算函数的导数值,并且收敛速度很快。设是方程的近似根,利用构造一次插值多项式,并用的根作为的心得近似根。由于(1)可以求出(2)上述迭代公式(2)可以看作牛顿法公式中的导数用差商取代的结果。上式中,由此可以得到满足公式(2)的点的序列,且点的序列收敛于根。2、弦截法的算法步骤根据弦截法的基本原理,可以得出如下算法步骤:1) 确定初始值,精度要求,最大迭代次数N;2) 计算函数值;3) 利用公式(2)计算方程新的近似根值;4) 若满足时便可停止迭代,作为方程的近似根,计算结5)否则取,重复利用公式(2)计算,知道满足要求。.共轭梯度法 1、基本步骤 在点处选取搜索方向,使其与前一次的搜索方向关于共轭,即 然后从点出发,沿方向求得的极小值点,即 如此下去, 得到序列。不难求得的解为 注意到的选取不唯一,我们可取 由共轭的定义可得: 2.共轭梯度法的计算过程如下: 第一步:取初始向量,计算 第步:计算 、最速下降法 1、原理 从某个初始点出发,沿在点处的负梯度方向求得 的极小值点, 即 然后从出发,重复上面的过程得到。如此下去,得到序列 可以证明,从任一初始点出发,用最速下降法所得到的序列均收敛于问题使最小化的解,也就是方程组的解。 其收敛速度取决于,其中,分别为A的最小,最大特征值。2、迭代格式:给定初值,按如下方法决定:四、实验题目 (1)分别用牛顿法和弦截法求方程的所有根。 提示:找到有根区间;利用二分法给出Newton法初值及弦截法的两个初值,比较收敛的速度 (2)利用共轭梯度法和最速下降法求解下列方程组,并进行比较 五、步骤与实现、牛顿法function x_start,index,it=Newtonfang(fun1,fun2,x,ep,it_max)index=0;for k=1:it_max x1=x; y=feval(fun1,x); z=feval(fun2,x); x=x-y/z; if abs(x-x1) a=-5;b=5;ep=1e-5;x=-3.23;it_max=50;fun1=inline(x-1)3+3*(x-1)2)fun1 = Inline function: fun1(x) = (x-1)3+3*(x-1)2 fun2=inline(3*x2-2*x-4)fun2 = Inline function: fun2(x) = 3*x2-2*x-4 x_start,index,it=Newtonfang(fun1,fun2,x,ep,it_max)x_start = -2.0000index = 1it = 11、弦截法1.从X负半轴function root=Secant(f,a,b,esp) if(nargin=3) eps=1.0e-6;endf1=subs(sym(f),findsym(sym(f),a);f2=subs(sym(f),findsym(sym(f),b);if(f1=0) root1=a;endif(f2=0) root2=b;end if(f1*f20) disp(两端点函数值乘积大于0!); return; else tol=1; fa=subs(sym(f),findsym(sym(f),a); fb=subs(sym(f),findsym(sym(f),b); root=a-(b-a)*fa/(fb-fa); while(toleps) r1=root; fx=subs(sym(f),findsym(sym(f),r1); s=fx*fa; if(s=0) root=r1; else if(s0) root=b-(r1-b)*fb/(fx-fb); else root=a-(r1-a)*fa/(fx-fa); end end tol=abs(root-r1); end end y=secant(y-1)3+3*(y-1)2,-3,0)y = -2.00002.从X正半轴function y=xian(a,n,x01,x02,eps)%采用弦截法求方程的根%a为方程所对应的多项式的系数%n为a的最高次幂的级数%x01,x02为初始值if nargin =2 %判定输入参数个数 eps=1e-6;elseif nargineps*x(i) x(i+1)=x(i)-(x(i)-x(i-1)*gfun(a,n,x(i)/(gfun(a,n,x(i)-gfun(a,n,x(i-1); tol=abs(x(i+1)-x(i); %判定误差 i=i+1;endy=x(i); %输出迭代结果fprintf(迭代次数为%dn,i-2);function y=gfun(a,n,x); %求f(x(i)的值y=0;for i=1:n+1 y=y+a(i)*x(n+1-i);enda=1,-6,9,-4;n=3;x01=0;x02=10;f=xian(a,n,x01,x02,eps)迭代次数为41f = 1.0000M-文件:function y1=fun1(x)y1=(x-1).3+3.*(x-1).2;x=-5:0.01:5;plot(x,fun1(x),b)、共轭梯度法function x,k=cg(A,b,ep,it_max)n=length(A);x=zeros(n,1);r=b-A*x;d=r;for k=1:it_max a=(sum(r.*r)/(sum(A*d).*d);r1=r; s=a*d;x=x+s;r=r-A*s; if norm(s)A=4 -1 0;-1 4 -1;0 -1 4;b=1;0;1;ep=1e-10;it_max=2;x,k=cg(A,b,ep,it_max)x = 0.2857 0.1429 0.2857k = 2、最速下降法function x,k=fastest(A,b,ep);x0=zeros(size(b),1);x=x0;k=0;m=1000;tol=1;while tol=ep r=b-A*x0; q=dot(r,r)/dot(A*r,r); x=x0+q*r; k=k+1; tol=norm(x-x0); x0=x; if k=m disp(迭代次数太多,可能不收敛!); return; endendA=4 -1 0;-1 4 -1;0 -1 4;b=1;0;1;ep=1e-10; x,k=fastest(A,b,ep)Warning: Input arguments must be scalar. In fastest at 2x = 0.2857 0.1429 0.2857k = 23六、结果分析从以上的程序可以看出一下几点结论 1.二分法和迭代法均能解出方程的根。 2.牛顿法具有较快的收敛速度,割线法比牛顿迭代法收敛慢,但迭代次数较少,每迭代1步,就只需计算1次f(x)的值,且避免了求导,计算量比牛顿法少。 3.迭代法对初值是敏感的,若初值选择的不合适可能导致迭代的效率很低,甚至发散的。七、心得体会通过短短几天的课程设计,我体会到了在计算机程序设计中团队的重要性!对于一个程序一个人很难以完成,即使可以,也很浪费时间。这时一个团队就是很重要的!在团队中要有一个和好的领导者,对整个任务进行分工与调配。团队中更为重要的是合作精神,只有互相之间默契融洽的配合才能换来最终完美的结果。课程设计诚然是一门专业课,给我很多专业知识以及专业技能上的提升,同时又是一门讲道课,一门辩思课,给了我许多道,给了我很多思,给了我莫大的空间。同时,设计让我感触很深。使我对抽象的理论有了具体的认识。通过这次课程设计,我掌握了更多有关牛顿法,弦截法,共轭梯度法,最速下降法与二分法的知识。我常常感觉,当我们的知识越来越丰富,学历越来越高,研究的领域越来越专、越来越深入时,往往会对专业问题的表达、描述更感兴趣。这使得我们可能会忽略生活中看似平常,看似朴实,却和我们的专业息息相

温馨提示

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

最新文档

评论

0/150

提交评论