您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 科学计算导论小班课报告--第八组(最终)关于单点割线法
科学计算导论小班课报告一、讨论题目用割线法解方程:03ax二、小组分工本次讨论课组长:易雪媛,具体讨论分工如下:易雪媛:PPT制作与小班课讲解杨锦涛:MATLAB代码编写易全政:计算与报告文档写作三、相关知识准备本次讨论课主题是使用割线法求解方程,因为在进行本次小班课题目准备前,复习并准备了一些关于割线法相关知识:※1、使用割线法的原因:Newton’sMethod一步要计算f和f’,相当于2个函数值,比较费时。现用f的值近似f’,可少算一个函数值。即使用割线斜率来代替切线斜率,减少了计算量,并加快了收敛速度。※2、割线法具体表现形式:切线斜率≈割线斜率11)()()(kkkkkxxxfxfxf*)()())((111kkkkkkkxfxfxxxfxx此时使用此迭代公式的时候就需要两个初值:10xx、这种方式也交做双点割线法。※3、单点割线法的迭代公式:同样对于双点割线法,将01xxk换成便可以得到单点的迭代公式如下:)()())((001xfxfxxxfxxkkkkk※4、关于双点割线法的课本MABLAB程序:function[x_star,k]=Gline(fun,x0,x1,ep,Nmax)%用双点割线法解非线性方程f(x)=0%x=Gline(fun,x0,x1,e,Namx),fun表示f(x)x0,x1为迭代初值%ep为精度(默认值为1e-5),x返回解,k为迭代次数上限以防发散(默认500)ifnargin5Nmax=500;endifnargin4ep=1e-5;endk=0;whileabs(x1-x0)ep&kNmaxk=k+1x2=x1-feval(fun,x1)*(x1-x0)/(feval(fun,x1)-feval(fun,x0))x0=x1;x1=x2;endx_star=x1;ifk==Nmaxwarning('已迭代上限次数');end四、题目解答※1、求解03ax的步骤:1)根据a的值估测x的取值范围区间,即代为双点割线法的初始值10xx、;2)将)(kxf的值带入迭代公式中,此时迭代公式变为:)(331311axxxxxxxkkkkkkk3)带入已知a及初值依次迭代,直到符合要求精度为止,一般默认精度为5e※2、假设a=115,演示求解过程:1)根据a=115,可得5,410xx;2)迭代公式为:)115(331311kkkkkkkxxxxxxx3)带入初始值,迭代第一次可得:44.83606557)115(3130310112xxxxxxx4)继续迭代可得到下表:kkxkkx0444.8594508911554.8629635224.83606557464.86294411774.8629441315)因此可以在精度要求得到a=115时候的值为:8629441.4x五、MABLAB代码1、双点割线法:shuangge.m文件:functiont=shuangge(a)%FENGESummaryofthisfunctiongoeshere%Detailedexplanationgoeshere,,,,x^3-a=0;x1=floor((a).^(1/3));x2=floor((a).^(1/3))+1;whileabs(x1-x2)0.00001f1=x1^3-a;f2=x2^3-a;x3=x1-(x1-x2)*f1/(f1-f2);x1=x2;x2=x3;endt=(x1+x2)/2;End命令行测试:shuangge(115)ans=4.86292、单点割线法:dange.m文件:function[x]=dange(a,t1,t2)f=@(x)x^3-a;x0=t1;x1=t2;x3=0;ifa==0;x1=0;elsewhileabs(x1-x3)1e-6x3=x1;x2=x1-(x1-x0)*f(x1)/(f(x1)-f(x0));x1=x2;endendx=x1;命令行测试:dange(115,4,5)ans=4.8629六、心得体会本次小班讨论课我们通过一个实例来深入展开对割线法的探讨。我们从其产生原因、方法特点、几何意义等方面进行了讨论,从而对单点及双点割线法有了更加深入的理解。
本文标题:科学计算导论小班课报告--第八组(最终)关于单点割线法
链接地址:https://www.777doc.com/doc-2236224 .html