收藏 分销(赏)

第6讲Matlab 方程求解与优化问题.ppt

上传人:xrp****65 文档编号:10304566 上传时间:2025-05-21 格式:PPT 页数:20 大小:416KB
下载 相关 举报
第6讲Matlab 方程求解与优化问题.ppt_第1页
第1页 / 共20页
第6讲Matlab 方程求解与优化问题.ppt_第2页
第2页 / 共20页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,/20,第,6,讲,Matlab,方程求解,与优化问题,6.1,方程求解,6.2,无约束优化问题,6.3,有约束优化问题,6.4,线性规划问题,1,/20,6.1,方程数值求解,6.1.1,单变量非线性方程求解,在,Matlab,中提供了一个,fzero,函数,可以用来求单变量非线性,方程的根。该函数的调用格式为:,z=,fzero(filename,x0),其中,,filename,是待求根的函数文件名,,x0,为搜索的起点。,一个函数可能有多个根,但,fzero,函数,只给出距离,x0,最近的,那个根,。,2,/20,例,6-1,求,f(x,)=x-10,x,+2=0,在,x,0,=0.5,附近的根。,步骤如下:,(1),建立函数文件,funx.m,.,function,fx,=,funx(x,),fx,=x-10.x+2;,(2),调用,fzero,函数求根。,z=fzero(funx,0.5),z=,0.3758,Ex:,求方程 在 附近的根。,3,/20,6.1.2,非线性,方程组,的求解,对于非线性方程组,F(X)=0,,用,fsolve,函数求其数值解。,fsolve,函数的调用格式为:,x=,fsolve(filename,x0,option),其中,x,为返回的解,,filename,是用于定义需求解的非线性方程组的,函数文件名,,x0,是求根过程的初值,,option,为设定的最优化工具箱,的选项。最优化工具箱提供了,20,多个优化参数选项,用户可以使用,optimset,命令将它们显示出来。如果想改变其中某个选项,则可以,调用,optimset,(),函数来完成。,例如,,Display,选项决定函数调用时中间结果的显示方式,其中,off,为不显示,,iter,表示每步都显示,,final,只显示最终结果。,optimset(Display,off),将设定,Display,选项为,off.,4,/20,例,6-2,求下列非线性方程组在,(0.5,0.5),附近的数值解。,(1),建立函数文件,myfun.m,.,function q=,myfun(p,),x=p(1);,y=p(2);,q(1)=x-0.6*sin(x)-0.3*,cos(y,);,q(2)=y-0.6*cos(x)+0.3*,sin(y,);,(2),在给定的初值,x0=0.5,y0=0.5,下,调用,fsolve,函数求方程的根。,x=fsolve(myfun,0.5,0.5,optimset(Display,off),5,/20,x=,0.6354,0.3734,将求得的解代回原方程,可以检验结果是否正确,,命令如下:,q=,myfun(x,),q=,1.0e-009*,0.2375 0.2957,可见得到了较高精度的结果。,6,/20,6.2,无约束最优化问题求解,6.2.1,非线性一元函数的最小值,Matlab,命令为,fminbnd,其调用格式为,X=,fminbnd(fun,x1,x2),X,fval,exitflag,output=,fminbnd(fun,x1,x2),其中,fun,为目标函数,x1,x2,为变量的边界约束,即,x1,x,x,2,x,为最小值点,,fval,为最小值。,exitflag,返回算法的终止标志,exitflag,0,表示计算收敛,exitflag,=0,表示超过了最大的迭代次数,exitflag,0,表示计算不收敛。,output,返回优化算法信息的一个数据结构,其中包含三个分量,:,iterations:,优化过程中迭代次数,funcCount,:,代入函数值的次数,;,algorithm:,优化所采用的算法。,7,/20,例,6-3,求,f(x,)=x,3,-2x-5,在,0,5,内的最小值点与最大值点。,(1),建立函数文件,mymin.m,function,fx,=,mymin(x,),fx,=x.3-2*x-5;,(2),调用,fmin,函数求最小值点与最大值点。,xmin,=fminbnd(mymin,0,5),xmin,=,0.8165,8,/20,例,6-4,求函数,f(x,),在区间,-2,2,上的最小值和相应的,x,值。,解:,Matlab,程序为,fun=(x5+x3+x2-1)/(exp(x2)+sin(-x),ezplot(fun,-2,2)%,绘图,X,fval,exitflag,output,=fminbnd(fun,-2,2),X=0.2176,fval,=-1.1312,exitflag,=1,output=,iterations:12,funcCount,:13,algorithm:golden section search,parabolic interpolation,message:1x112 char,9,/20,6.2.2,非线性多元函数的最小值,Matlab,提供了两个命令:,fminsearch,fminunc,前者适合处理阶,次低但是间断点多的函数,后者则对于高阶连续函数比较有效。,fminsearch,的调用格式为:,x=,fminsearch(fun,x0),x,fval,exitflag,output=,fminsearch(fun,x0,options),该命令可求解目标函数,fun,的极小值点,x,和相应的最小值,fval,x0,为,x,的初始值。其余参数同,fminbnd,.,options,是一个结构,里面有控制优化过程的各种参数,可以使用,optimset,命令来设置,一般情况下不必改动它,使用默认设置就,可以了。,10,/20,fminunc,的调用格式为:,x=,fminunc(fun,x0),x,fval,exitflag,output,grad,hessian,=,fminunc(fun,x0,options),该命令求解目标函数,fun,的极小值点,x,和相应的最小值,fval,x0,为,优化的初始值,grad,返回目标函数在最优解点的梯度,hessian,返,回最优解点的,hessian,矩阵,其它参数的意义同,fminsearch,.,注意:,1,、当目标函数的阶数大于,2,时,fminunc,比,fminsearch,更有效。,但当目标函数高度不连续时,使用,fminsearch,效果更好,.,2,、,Matlab,没有专门求函数最大值的函数,但只要注意到,f(x,),在,区间,(a,b),上的最小值点就是函数,f(x,),在,(a,b),的最大值点,所以,fminsearch(-f,x1,x2),返回函数,f(x,),在区间,(x1,x2),上的最大值点。,11,/20,例,6-5,求如下函数的最小值。,解:,Matlab,程序为,fun=exp(x(1)*(2*x(1)+3*x(2)2+2*x(1)*x(2)+3*x(2)+1);,x0=0,0,;,options=optimset(largescale,off,display,iter,tolx,1e-8,tolfun,1e-8);,x,fval,exitflag,output,grad,hessian,=fminunc(fun,x0,options),本例的程序对参数,options,进行了设置:,largescale,off,关闭了大规模方式,;,display,用来控制计算过程的显示,;,iter,表示显示优化过程的每次计算结果,;,off,表示不显示所有输出,,final,仅输出最后结果,;,tolx,用来控制输入变量,x,的允许误差精度,本例设置为,1e-8,,,tolfun,是控制目标函数的允许误差精度,缺省值是,1e-4,,本例为,1e-8.,12,/20,6.3,有约束优化问题,有约束最优化问题一般描述为:,min,f(x,),s.t,.,G(x,),0,其中,,x=x,1,x,2,x,n,,该数学表示的含义是求一组,x,,使得目标,函数,f(x,),为最小,且满足约束条件,G(x,),0.,约束条件可以进一步细化为:,13,/20,Matlab,最优化工具箱提供了一个,fmincon,函数,专门用于,求解各种约束下的最优化问题。该函数的调用格式为:,x,fval,=,fmincon(fname,x0,A,b,Aeq,beq,Lbnd,Ubnd,NonF,option),其中,,x,、,fval,、,filename,、,x0,和,option,的含义与求最小值函,数相同。其余参数为约束条件,参数,NonF,为非线性约束函,数的,m,文件名。如果某个约束不存在,则用空矩阵来表示。,14,/20,(1),首先编写目标函数,M,文件,fop.m,function f=,fop(x,),f=0.4*x(2)+x(1)2+x(2)2-x(1)*x(2)+1/30*x(1)3;,(2),设定约束条件,并调用,fmincon,函数求解此约束最优化问题:,x0=0.5;0.5;,A=-1,-0.5;-0.5,-1;,b=-0.4,-0.5;,lb=0,0;,option=,optimset,;,option.LargeScale,=off;,option.Display,=off;,x,f,=fmincon(fop,x0,A,b,lb,option),例,6-6,求解有约束最优化问题,15,/20,6.4,线性规划,6,.,4,.,1,Matlab,标准形式及求解,16,/20,17,/20,18,/20,19,/20,20,/20,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服