MATLAB优化工具箱.ppt_第1页
MATLAB优化工具箱.ppt_第2页
MATLAB优化工具箱.ppt_第3页
MATLAB优化工具箱.ppt_第4页
MATLAB优化工具箱.ppt_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

MATLAB工具箱,Matlab工具箱已经成为一个系列产品,Matlab主工具箱和各种工具箱(toolbox)。,一、工具箱简介,功能型工具箱通用型功能型工具箱主要用来扩充Matlab的数值计算、符号运算功能、图形建模仿真功能、文字处理功能以及与硬件实时交互功能,能够用于多种学科。领域型工具箱专用型领域型工具箱是学科专用工具箱,其专业性很强,比如控制系统工具箱(ControlSystemToolbox);信号处理工具箱(SignalProcessingToolbox);财政金融工具箱(FinancialToolbox)等等。只适用于本专业。,Matlab常用工具箱,MatlabMainToolboxmatlab主工具箱ControlSystemToolbox控制系统工具箱CommunicationToolbox通讯工具箱FinancialToolbox财政金融工具箱SystemIdentificationToolbox系统辨识工具箱FuzzyLogicToolbox模糊逻辑工具箱BioinformaticsToolbox生物分析工具箱,ImageProcessingToolbox图象处理工具箱DatabaseToolbox数据库工具箱ModelpredictiveControlToolbox模型预测控制工具箱NeuralNetworkToolbox神经网络工具箱OptimizationToolbox优化工具箱PartialDifferentialToolbox偏微分方程工具箱RobustControlToolbox鲁棒控制工具箱,SignalProcessingToolbox信号处理工具箱SplineToolbox样条工具箱StatisticsToolbox统计工具箱SymbolicMathToolbox符号数学工具箱SimulinkToolbox动态仿真工具箱VirtualRealityToolbox虚拟现实工具箱WaveletToolbox小波工具箱等等.而且每个新出的版本都在增加、更新完善。,控制系统工具箱ControlSystemToolbox,连续系统设计和离散系统设计状态空间和传递函数以及模型转换时域响应(脉冲响应、阶跃响应、斜坡响应)频域响应(Bode图、Nyquist图)根轨迹、极点配置,遗传算法和直接搜索工具箱GeneticAlgorithmandDirectSearchToolbox,是针对MATLAB优化处理算法的扩展,它在MATLAB和OptimizationToolbox的基础上,提供遗传算法和直接搜索的基本功能。使用遗传算法工具箱的两种方法:(1)直接在命令窗口使用函数。xfval=ga(fitnessfun,nvars,options),(2)图形界面互动操作方法。可选内部函数ackleyfcn或者rastriginsfcn,RastriginsFunction,可以设置参数来调整显示结果,直接搜索算法,同样有两种类似的运行方法,优化工具箱OptimizationToolbox,线性规划和二次规划求函数的最大值和最小值多目标优化约束条件下的优化非线性方程求解Demo:toolbox/optimization,求解线性规划,线性规划是一种优化方法,Matlab优化工具箱中有现成函数linprog对如下式描述的LP问题求解:,解:编写M文件小xxgh1.m如下:c=-0.4-0.28-0.32-0.72-0.64-0.6;A=0.010.010.010.030.030.03;0.02000.0500;00.02000.050;000.03000.08;b=850;700;100;900;Aeq=;beq=;vlb=0;0;0;0;0;0;vub=;x,fval=linprog(c,A,b,Aeq,beq,vlb,vub),解:编写M文件xxgh2.m如下:c=634;A=010;b=50;Aeq=111;beq=120;vlb=30,0,20;vub=;x,fval=linprog(c,A,b,Aeq,beq,vlb,vub),信号处理工具箱SignalProcessingToolbox数字和模拟滤波器设计、应用及仿真谱分析和估计FFT、DFT等变换参数化模型,学科前沿最新的工具箱,模糊控制逻辑工具箱友好的交互设计界面,自适应神经-模糊学习、聚类以及Sugeno推理。神经网络工具箱神经网络系统具有集体运算的能力和自适应的学习能力。具有很强的容错性和鲁棒性,善于联想、综合和推广。,工具箱的扩充功能:,用户可以修改工具箱中的函数,更为重要的是用户可以通过编制m文件来任意地添加工具箱中原来没有的工具函数。此功能充分体现了matlab语言的开发性。,如何添加工具箱?,如果是Matlab安装光盘上的工具箱,重新执行安装程序,选中即可。如果是单独下载的工具箱,则需要把新的工具箱(以下假设工具箱名字为svm)解压到toolbox目录下,然后用addpath或者pathtool把该工具箱的路径添加到matlab的搜索路径中,最后用whichnewtoolbox_command.m来检验是否可以访问。如果能够显示新设置的路径,则表明该工具箱可以使用了。具体请看工具箱自己带的README文件。,举例:,要添加的工具箱为svm,则解压后,里边有一个目录svm,假设matlab安装在D:MATLAB6.5,将svm目录拷贝至D:MATLAB6.5toolbox,然后运行matlab,在命令窗口输入addpathD:MATLAB6.5toolboxsvm回车,来添加路径。然后在svm目录下,任意找一个m文件,以svcinfo.m为例,在命令窗口中输入whichsvcinfo.m。如果显示出该文件路径,如D:MATLAB6p5toolboxsvmsvcinfo.m,则安装成功,当然也可以在命令窗口输入path来查看。,二、通用工具箱,Matlab主工具箱数值计算、符号运算、绘图以及句柄绘图都是matlab主工具箱的内容,是matlab的基本部分。Matlab主工具箱位于:c:matlabtoolboxmatlabmatlab主工具箱是任何版本的matlab都不可缺少的。,除toolboxmatlab之外的工具箱,在比较完整的专业版matlab语言中有20多个工具箱。这些工具箱是需要单独选择购买的。matlab主工具箱共有31个函数库datafun数据分析函数库sonnds声音处理函数库dde动态数据交换函数库elfun初等数学函数库specmat特殊矩阵函数库,elmat初等矩阵和时间函数库funfun函数功能和数学分析函数库general通用命令函数库graphics通用图形函数库iofun底层输入输出函数库lang语言结构函数库matfun矩阵线性代数函数库ops运算符和逻辑函数库plotxy二维绘图函数库plotxyz三维绘图函数库,color颜色和光照函数库polyfun多项式函数库sparfun稀疏矩阵函数库strfun字符串函数库demosmatlab演示函数库Matlab6新增函数库:uitools图形界面函数库datatypes数据类型函数库graphics句柄绘图函数库graph3d三维绘图,各函数库中的函数可用help函数库名查询,或type函数名方法查询例:helpplotxyTwodimensionalgraphics.ElementaryX-Ygraphs.plot-Linearplot.loglog-Log-logscaleplot.semilogx-Semi-logscaleplot.semilogy-Semi-logscaleplot.fill-Drawfilled2-Dpolygons.,Graphannotation.title-Graphtitle.xlabel-X-axislabel.ylabel-Y-axislabel.text-Textannotation.gtext-Mouseplacementoftext.grid-Gridlines.SeealsoPLOTXYZ,GRAPHICS.,2.符号运算工具箱,主要功能以符号为对象的数学。在大学教学中,符号数学是各专业都能用到的。符号运算无须事先对独立变量赋值,运算结果以标准的符号形式表达。特点:运算对象可以是没赋值的符号变量可以获得任意精度的解,符号运算的功能,符号表达式、符号矩阵的创建符号可变精度求解符号线性代数因式分解、展开和简化符号代数方程求解符号微积分符号微分方程,例如:z=a*t2+b*t+c;r=solve(z,t)对缺省变量求解r=1/2/a*(-b+(b2-4*a*c)(1/2)1/2/a*(-b-(b2-4*a*c)(1/2),对任意变量求解r=solve(z,b)r=-(a*t2+c)/tr=solve(z,c)r=-a*t2-b*tr=solve(z,a)r=-(b*t+c)/t2,3.Simulink动态仿真工具箱,simulink工具箱简介simulink是实现动态系统建模、仿真和分析的一个集成环境,使得matlab的功能得到进一步扩展,它可以非常容易的实现可视化建模,把理论研究和工程实践有机的结合在一起。大部分专用工具箱只要以matlab主包为基础就能运行,有少数工具箱(通讯工具箱、信号处理工具箱等)则要求有simulink工具箱的支持。,由于matlab和simulink是集成在一起的,因此用户可以在两种环境下对自己的模型进行仿真、分析和修改。不用命令行编程,由方框图产生m文件(s函数)。当创建好的框图保存后,相应的m文件就自动生成,这个.m文件包含了该框图的所有图形及数学关系信息。框图表示比较直观,容易构造,运行速度较快。,三、工具箱和工具箱函数的查询办法,matlab的目录结构目录树c:matlabbinc:matlabexternc:matlabsimulinkc:matlabtoolboxcommc:matlabtoolboxcontrolc:matlabtoolboxsymbolic,.,matlabbin该目录包含matlab系统运行文件,matlab帮助文件及一些必需的二进制文件。matlabextern包含MATLAB与C,FORTRAN语言的交互所需的函数定义和连接库。matlabsimulink包含建立simulinkMEX-文件所必需的函数定义及接口软件。matlabtoolbox各种工具箱,MathWorks公司提供的商品化matlab工具箱有30多种。toolbox目录下的子目录数量是随安装情况而变的。,2.工具箱matlabtoolbox工具箱在windows下由目录检索得到。也可以在matlab下得到,启动matlab后cd_.matlab缺省目录是bin,回到matlab目录下cd_toolbox,dir工具箱清单.compilerfixpointlminagqft.controlfuzzylocalncdrobustadasymbolicdspblkshosamatlabnnetsignaluitoolscodegenfdidentidentmpcoptimsimulinkwaveletcommfinancesplinespdeesmutoolsstats,3.工具箱函数清单的获得所有工具箱中都有函数清单文件contents.m,可用各种方法得到工具箱函数清单执行在线帮助命令help工具箱名称列出该工具箱中contents.m的内容,显示该工具箱中所有函数清单例如:helpsymbolichelpoptim函数的查询:help函数名,使用type命令得到工具箱函数的清单typesignalcontentstypeoptimcontents如果在当前工具箱目录下可用helpcontentstypecontents得到该工具箱的函数清单由于contents.m为文本文件,可以通过任何文本编辑器打开阅读如:edit、word、写字板、记事本,4.matlab函数的查阅与定位,which函数名给函数定位例如:whichlaplaced:matlab42toolboxsymboliclaplace.mwhichfft2d:matlab42toolboxmatlabdatafunfft2.mwhichpolyd:matlab42toolboxmatlabpolyfunpoly.m,whichconstrd:matlab42toolboxoptimconstr.mwhichplotplotisabuilt-infunction.which命令只能定位matlab的外部命令,而对内部命令是无效的。matlab内部函数只能通过contents.m工具箱清单文件来查询,MATLAB优化工具箱,1工具箱概述,1.1功能(1)求解无约束条件非线性极小值;(2)求解约束条件下非线性极小值,包括目标逼近问题、极大-极小值问题和半无限极小值问题;(3)求解二次规划和线性规划问题;(4)非线性最小二乘逼近和曲线拟合;(5)非线性系统的方程求解;(6)约束条件下的线性最小二乘优化;(7)求解复杂结构的大规模优化问题。,1.2工具箱的新特色,MATLABR2008b使用的是4.1版本的优化工具箱,较3.x的变化在于:(1)fmincon、fminimax和fgoalattain中引入了并行机制,加快梯度计算速度;(2)函数gatool和pserchtool整合到优化工具箱GUI中;(3)函数fmincon的求解器中新增内点算法;(4)提供了KNITRO优化库的接口;(5)函数lsqcurvefit、lsqnonlin和fsolve的优化选项参数PrecondBandWinth默认值由0变为inf;(6)优化选项参数TolConSQP的默认值改为1e-6;(7)输出结构中引入了参数constrviolation。,2工具箱函数,输入参数中可以用options,用于所有函数,其中包括有以下参数。(1)Display:结果显示方式,off不显示,iter显示每次迭代的信息,final为最终结果,notify只有当求解不收敛的时候才显示结果。(2)MaxFunEvals:允许函数计算的最大次数,取值为正整数。(3)MaxIter:允许迭代的最大次数,正整数。(4)TolFun:函数值(计算结果)精度,正整数。(5)TolX:自变量的精度,正整数。而且可以用函数optimset创建和修改。模型输入时需要注意问题:(1)目标函数最小化;(2)约束非正;(3)避免使用全局变量。,3GUI优化工具,3.1启动命令行输入optimtool;Start-Toolboxes-Optimization-Optimizationtool(optimtool)。3.2界面图一:GUI优化工具的界面,分为三块:最左边是优化问题的描述及计算结果显示,中间为优化选项的设置,右边是帮助(可隐藏,右上角的)。,3.3使用步骤选择求解器solver和优化算法algorithm;选定目标函数(objectivefunction);设定目标函数的相关参数;设置优化选项;单击“start”按钮,运行求解;查看求解器的状态和求解结果;将目标函数、选项和结果导入导出。具体的如图二所示:,图二:步骤示意图,3.4应用实例3.4.1无约束优化(fminunc求解器)求f(x)=x2+4*x-6极小值,初始点取x=0。解:首先建立目标函数文件FunUnc.m文件:functiony=FunUnc(x)y=x2+4*x-6;然后启动优化工具(如图):,Algorithm有两个选择:Largescale和Mediumscale,设置完参数点击start即可得到如图中的结果。,3.4.2无约束优化(fminsearch求解器)求f(x)=|x2-3*x+2|的极小值,初始点取x=-7,比较fminunc和fminsearch的差别。解:启动优化工具;用fminunc时设置参数如图:,点击start得到结果。,用fminunc时结果是1.5,而用fminsearch时结果是2。计算原等式有极小值为2,由此有对于非光滑优化问题fminunc可能求不到正确的结果,而fminsearch却能很好地解决这类问题的求解。,用fminsearch时如下图:,3.4.3约束优化(fmincon求解器)可用算法有Trustregionreflective(信赖域反射算法)、Activeset(有效集算法)、Interiorpoint(内点算法)。求f(x)=-x1*x2*x3的极小值,约束条件是-x1-2*x2-2*x3=0且x1+2*x2+2*x3=72,初始点(10,10,10)。解:首先见M文件,约定FunUnc(x)=-x(1)*x(2)*x(3):functiony=FunUnc(x)y=-x(1)*x(2)*x(3);,启动优化工具,设置参数如图:,3.4.4非线性最小二乘优化(lsqnonlin求解器)求minS=(x2+x-1)2+(2*x2-3)2,初始点为x=5。解:启动优化工具,设置参数,点start得结果如下图所示;,3.4.5线性规划(linprog求解器)f处输入函数多项式的系数。基本方法如前面几类。3.4.6智能优化算法(ga求解器)要输入变量的个数。基本方法如前面几类。,MATLAB模糊控制工具箱,Matlab模糊控制工具箱为模糊控制器的设计提供了一种非常便捷的途径,通过它我们不需要进行复杂的模糊化、模糊推理及反模糊化运算,只需要设定相应参数,就可以很快得到我们所需要的控制器,而且修改也非常方便。,首先我们在Matlab的命令窗口(comm

温馨提示

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

评论

0/150

提交评论