Matlab非线性方程求根ppt课件_第1页
Matlab非线性方程求根ppt课件_第2页
Matlab非线性方程求根ppt课件_第3页
Matlab非线性方程求根ppt课件_第4页
Matlab非线性方程求根ppt课件_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

精选,1,科学计算与MATLAB,中南大学材料科学与工程学院2010.10,精选,2,第八讲非线性方程求根,精选,3,内容提要,引言二分法迭代法Newton迭代法MATLAB的非线性方程求根函数小结,精选,4,在工程和科学技术中许多问题常常归结为求解非线性方程式问题,例如在控制系统的设计领域,研究人口增长率等。例关于真实气体的状态方程(Vanderwaals方程)为其中,P是气体压力,V是气体体积,T是绝对温度,R是气体常数。如果已知某气体的温度T及压力P,那么求体积V的方程为:,1、引言,精选,5,非线性方程的一般形式:f(x)=0代数方程:f(x)=a0+a1x+anxn(an0)超越方程:f(x)中含三角函数、指数函数、或其他超越函数。用数值方法求解非线性方程的步骤:(1)找出有根区间;(只含一个实根的区间称隔根区间)(2)近似根的精确化。从隔根区间内的一个或多个点出发,逐次逼近,寻求满足精度的根的近似值。,精选,6,2、方程求根的二分法,2.1二分法的基本思想:假定f(x)=0在a,b内有唯一单实根x*,考察有根区间a,b,取中点x0=(a+b)/2,若f(x0)=0,则x*=x0,否则,(1)若f(x0)f(a)0,则x*在x0右侧,令a1=x0,b1=b;(2)若f(x0)f(a)0,则x*在x0左侧,令a1=a,b1=x0。,定理1(介值定理)设函数f(x)在区间a,b连续,且f(a)f(b)0,则方程f(x)=0在区间a,b内至少有一个根。,精选,7,以a1,b1为新的隔根区间,且仅为a,b的一半,对a1,b1重复前过程,得新的隔根区间a2,b2,如此二分下去,得一系列隔根区间:a,ba1,b1a2,b2ak,bk其中每个区间都是前一区间的一半,故ak,bk的长度:当k趋于无穷时趋于0。即若二分过程无限继续下去,这些区间最后必收敛于一点x*,即方程的根。,精选,8,每次二分后,取有根区间的中点xk=(ak+bk)/2作为根的近似值,则可得一近似根序列:x0,x1,x2,该序列必以根x*为极限。实际计算中,若给定充分小的正数0和允许误差限1,当|f(xn)|0)t=(a+b)/2;r=FindRoots(f,t,b,eps);elseif(f_1*mf=0)r=(a+b)/2;elseif(abs(b-a)eps)n=n+1;r1=root;root=subs(sym(f),findsym(sym(f),r1)+r1;tol=abs(root-r1);end,精选,21,实例,例:求方程x3-x-1=0在x=1.5附近的一个根。,r,n=StablePoint(x3-x-1,1.5)r=NaNn=9,精选,22,实例,例:求方程1/sqrt(x)+x-2=0在x=1.5附近的一个根。,r,n=StablePoint(1/sqrt(x)+x-2,1.5)r=Infn=1028r,n=StablePoint(1/sqrt(x)+x-2,0.5)r=0.3820n=4,精选,23,假定(x)改变不大,近似取某个近似值L,则有,3.3迭代收敛的加速方法,1、Aitken加速收敛方法:,由微分中值定理,有,同理,两式相比,得,精选,24,类推可得,故,上式即为Aitken加速收敛方法的迭代格式。,精选,25,2、Steffensen迭代法:将Aitken加速技巧与不动点结合可得,或将其写为,精选,26,3.4MATLAB实现,例:用不动点迭代法、Aitken加速收敛方法和Steffensen迭代法分别求方程,并比较这三种方法。,r,n=StablePoint(1/sqrt(x)+x-2,0.5)r=0.3820n=4r,n=AtkenStablePoint(1/sqrt(x)+x-2,0.5)r=0.3820n=4r,n=AtkenStablePoint(1/sqrt(x)+x-2,0.999)r=1.0000n=4r,n=StablePoint(1/sqrt(x)+x-2,0.999)r=0.3820n=21r,n=StevenStablePoint(1/sqrt(x)+x-2,0.999)r=1.0000n=2r,n=StevenStablePoint(1/sqrt(x)+x-2,0.5)r=0.3820n=4,表明即使不动点迭代法不收敛,用steffensen迭代法仍可能收敛。说明steffensen迭代法的收敛速度比不动点迭代快得多。,精选,27,谢谢!,精选,28,4、Newton迭代法,4.1基本思想:将非线性方程逐步归结为某种线性方程求解。,精选,29,设方程f(x)=0有近似根xk(f(xk)0),将f(x)在xk展开:(在x和xk之间),可设,精选,30,记该线性方程的根为xk+1,则,故f(x)=0可近似表示为,即为Newton法迭代格式。,(k=0,1,),精选,31,4.2Newton迭代法(切线法),切线方程,故,精选,32,切线法的缺陷,1.被零除错误,2.程序死循环,方程:f(x)=x33x+2=0在重根x*=1附近,f(x)近似为零。,对f(x)=arctanx存在x0,Newton迭代法陷入死循环。,精选,33,计算,输入,计算,计算,输出,输出,stop,是,是,否,否,精选,34,程序设计,functionroot=NewtonRoot(f,a,b,eps)if(nargin=3)eps=1.0e-4;endf1=subs(sym(f),findsym(sym(f),a);f2=subs(sym(f),findsym(sym(f),b);if(f1=0)root=a;endif(f2=0)root=b;endif(f1*f20)disp(两端点函数值乘积大于0!);return;elsetol=1;fun=diff(sym(f);,fa=subs(sym(f),findsym(sym(f),a);fb=subs(sym(f),findsym(sym(f),b);dfa=subs(sym(fun),findsym(sym(fun),a);dfb=subs(sym(fun),findsym(sym(fun),b);if(dfadfb)root=a-fa/dfa;elseroot=b-fb/dfb;endwhile(toleps)r1=root;fx=subs(sym(f),findsym(sym(f),r1);dfx=subs(sym(fun),findsym(sym(fun),r1);root=r1-fx/dfx;tol=abs(root-r1);endend,精选,35,例:采用切线法求方程在区间0.5,2上的一个根。,r=NewtonRoot(sqrt(x)-x3+2,0.5,2)r=1.4759,精选,36,若|(x)|=|1-cf(x)|1,即取0dfb)df0=1/dfa;root=a-df0*fa;elsedf0=1/dfb;root=b-df0*fb;endwhile(toleps)r1=root;fx=subs(sym(f),findsym(sym(f),r1);root=r1-df0*fx;tol=abs(root-r1);endend,精选,38,例:采用平行弦法求方程在区间1.2,2上的一个根。,r=SimpleNewton(sqrt(x)-x3+2,1.2,2)r=1.4759,精选,39,在Newton迭代格式中,用差商近似导数,,4.4弦截法(割线法),称弦截法。,得,精选,40,弦截法的几何意义:,弦线PkPk-1的方程:,当y0时,,精选,41,程序设计,functionroot=Secant(f,a,b,eps)if(nargin=3)eps=1.0e-4;endf1=subs(sym(f),findsym(sym(f),a);f2=subs(sym(f),findsym(sym(f),b);if(f1=0)root=a;endif(f2=0)root=b;endif(f1*f20)disp(两端点函数值乘积大于0!);return;elsetol=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;elseif(s0)root=b-(r1-b)*fb/(fx-fb);elseroot=a-(r1-a)*fa/(fx-fa);endendtol=abs(root-r1);endend,精选,42,例:采用弦截法求方程在区间1,4上的一个根。,r=Secant(log(x)+sqrt(x)-2,1,4)r=1.8773,精选,43,例用简化的Newton迭代法和弦截法计算方程x3-3x+1=0的根。,解:设f(x)=x3-3x+1,则f(x)=3x2-3,由简化的Newton法,得,由弦截法,得,精选,44,x0=0.5x1=0.3333333333x2=0.3497942387x3=0.3468683325x4=0.3473702799x5=0.3472836048x6=0.3472985550 x7=0.3472959759x8=0.3472964208x9=0.3472963440 x10=0.3472963572x11=0.3472963553,x0=0.5;x1=0.4;x2=0.3430962343x3=0.3473897274x4=0.3472965093x5=0.3472963553x6=0.3472963553,简化Newton法,弦截法,要达到精度10-8,简化Newton法迭代11次,弦截法迭代5次,Newton迭代法迭代4次。,精选,45,无论前面哪种迭代法:,(Newton迭代法、,简化Newton法、,弦截法),Newton迭代法,x0=2x1=-3.54x2=13.95x3=-279.34x4=122017,是否收敛均与初值的位置有关。,如,x0=1x1=-0.5708x2=0.1169x3=-0.0011x4=7.9631e-010 x5=0,收敛,发散,精选,46,为防止Newton法发散,可增加一个条件:|f(xk+1)|f(xk)|,满足该条件的算法称下山法。可用下山法保证收敛,Newton法加快速度。,4.5Newton下山法,称Newton下山法。,(0r=NewtonDown(sqrt(x)-x3+2,1.2,2)r=1.4759,精选,49,例:求解方程,要求达到精度|xn-xn-1|10-5,取x0=-0.99。,解:先用Newton迭代法:f(x)=x2-1,x2=21.69118x3=15.15689x4=9.70724x5=6.54091x6=4.46497x7=3.13384x8=2.32607x9=1.90230 x10=1.75248x11=1.73240 x12=1.73205x13=1.73205,需迭代13次才达到精度要求,精选,50,用Newton下山法,结果如下:,精选,51,Matlab中zeroin的算法实现是fzero.,x=fzero(FUN,x0)%x0可以是数,或区间x=fzero(FUN,x0,options)x,fval=fzero(FUN,x0,options)x,fval,exitflag=fzero(FUN,x0,options),5、MATLAB的非线性方程求根函数,精选,52,例:求方程在x=0.5附近的根。,x=fzero(x2+x-1,0.5)x=0.6180,例:采用牛顿下山法求方程在区间1.2,2上的一个根。,x=fzero(sqrt(x)-x3+2,02)x=1.4759r=NewtonDown(sqrt(x)-x3+2,1.2,2)r=1.4759,精选,53,实例:Ti-15-3合金热变形显微组织的分形,分形理论是非线性科学的三大方向之一,是一种描述和处理具有自相似性非规则图形及客观对象有效的分析方法和建模工具,其根本特征在于实现了测度观的转变。因而,分形的出现为分析解决一些复杂、非线性系统问题提供了新的科学方法和认识方法,具有广阔和深远的实际应用前景。大量研究表明,金属显微组织具有分形特征,且可以采用尺度不变的分形维数对其进行客观、全面地表征。一些研究工作者以金属显微组织中离散的点状、线状分布的典型夹杂物为研究对象,通过对不同等级夹杂物的分维测,验证了夹杂物等级与分形维数之间的关系。,精选,54,首先要对显微组织的TEM像进行二值化处理。灰度图像的二值化方法主要有全局阈值法和局部阈值法。在目标和背景的灰度差别较明显时,全局阈值法效果比较好且计算速度较快。而采用全局阈值法对图像进行二值化处理的关键是阈值的选取,其准确性直接影响对图像中特征信息进行描述分析的正确性。,1显微组织图像的二值化处理,精选,55,精选,56,2显微组织分形维数的计算,分形维数是定量刻划分形体复杂结构的特征参数,表征了分形体的不规则程度。材料科学中常用的测定分形维数的方法有盒维数法、码尺法和小岛法。其中,盒维数法无论是对曲线还是对曲线围成的面都适用,与图像物理含义关系不大,因而广泛应用于二维图像分形维数的计算。,对于二维欧式空间的一系列点,用边长为的正方形盒子覆盖这些点,统计出至少包含一个点的方格数目N(),在双对数坐标系中用最小二乘法直线拟合数据点(ln,lnN(),若二者具有很好的线性关系,表明图像具有分形特性,且所得直线的斜率就是该图像分形维数的近似值。近似计算盒维数DB为:,精选,57,在当前的分形研究中,正方形边长为=2n(n0),即正方形边长的最小尺寸为一个像素。当图像边界处不能保证有完整的正方形盒子时,包含目标像素点的正方形盒子数目按下式计算:式中N0()为包含目标像素的完整盒子的数目;A0()为覆盖图像的完整盒子的面积;A为整个图像的面积。,精选,58,变形条件对显微组织分形维数的影响当其它变形条件相同时,变形程度、变形温度和变形速率对显微组织(放大倍数为2.8万倍)分形维数的影响如图4所示。由图4可以看出,变形温度和变形速率一定时,随着变形程度的增大,显微组织的分形维数增大。变形程度较小时,合金晶体中的位错密度也较小,且位错线大多长而直;随着变形程度的增加,位错之间相互交割加,具有更高密度的位错缠结,位错线长度因缠结而逐步缩短,显微组织形貌更加复杂,因而分形维数增大。,精选,59,精选,60,实例:采用人工神经网络预测轧后厚比的变化规律,轧制复合中影响厚比变化的因素非常多,作用也很复杂,而且一般影响关系都是非线性的。因而,很难用简单的数学表达式来描述轧后厚比的影响因素及变化规律。有人根据轧制复合实验数据进行了回归分析,得出了简单的回归经验计算式。但是运用这种方法,计算工作量很大,而且预测精度也不够高。回归分析也存在着局限性:一方面,回归分析不能建立考虑所有影响因素的回归方程;另一方面,当加入新的实验数据后,又必须对模型中的常数重新进行回归求解。因此回归常数使用范围很窄。有鉴于此,准备采用

温馨提示

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

评论

0/150

提交评论