资源描述:
《matlab优化工具箱的使用方法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、MATLAB优化工具箱的使用方法导读:就爱阅读网友为您分享以下“MATLAB优化工具箱的使用方法”资讯,希望对您有所帮助,感谢您对92to.com的支持!谢金星:MATLAB优化工具箱和LINDO/LINGO优化软件第9页共112页第2章2.1MATLAB优化工具箱的使用方法MATLAB优化工具箱主要功能在MATLAB中,为求解优化问题开发了专门的优化工具箱(Optimizationtoolbox),该工具箱的程序(函数M文件)位于目录toolboxoptim下。本章介绍的是MATLAB6.5.1Release(13withServicePack1)版本中配置的优化工具箱2.3版本的功能和使
2、用方法,其主要功能简要归纳在图2-1中,较详细的介绍如表2-1所示。优化工具箱连续优化离散优化无约束优化约束优化整数规划(暂缺)非线性极小fminuncfminsearch非光滑(不可微)优化fminsearch线性规划linprog二次规划quadprog网络优化57(暂缺)非线性方程(组)fzerofsolve非线性最小二乘lsqnonlinlsqcurvefit全局优化非线性规划fminconfminimaxfgoalattainfseminf约束线性最小二乘lsqnonneg上下界约束fminbndfminconlsqnonlinlsqcurvefit(暂缺)lsqlin图2-1表2-
3、1问题方程求根方程组求解有界单变量优化无约束极小(非线性规划)模型f(x)=0,x∈RMATLAB优化工具箱的主要功能示意图MATLAB优化工具箱的主要功能与基本用法基本命令的用法x=fzero(@f,x0)n基本的.m文件functiony=f(x)functiony=F(x)functiony=f(x)functiony=f(x)functiony=f(x)F(x)=0,x∈RMinf(x),x∈R,v1≤x≤v2Minf(x),x∈Rnx=fsolve(@F,x0)x=fminbnd(@f,v1,v2)x=fminunc(@f,x0)x=fminsearch(@f,x0)第9页共1157
4、2页谢金星:MATLAB优化工具箱和LINDO/LINGO优化软件第10页共112页约束极小(非线性规划)minf(x),x∈Rns.t.C1(x)≤0C2(x)=0A1x≤b1A2x=b2v1≤x≤v2mincTxs.t.A1x≤b1A2x=b2v1≤x≤v2minxHx/2+cTxs.t.A1x≤b1A2x=b2v1≤x≤v2Tx=fmincon(@f,x0,A1,b1,A2,b2,v1,v2,@C)functiony=f(x)function[C1,C2]=C(x)线性规划x=linprog(c,A1,b1,A2,b2,v1,v2,x0)二次规划x=quadprog(H,c,A1,b1,
5、A2,b2,v1,v2,x0)极小极大minmaxF(x)xix=fminimax(@F,x0,A1,b1,A2,b2,v1,v2,@C)functiony=F(x)function[C1,C2]=C(x)s.t.C1(x)≤0C2(x)=0A1x≤b1A2x=b2v1≤x≤v2非负线性最小二乘min12
6、
7、Cx−d
8、
9、22x=lsqnonneg(C,d)s.t.x≥0约束线性最小二乘min12
10、
11、Cx−d
12、
13、22x=lsqlin(C,d,A1,b1,A2,b2,v1,v2)s.t.A1x≤b1A2x=b2v1≤x≤v2非线性最小二乘min12
14、
15、F(x)
16、
17、22x=lsqnonlin(@F,
18、x0,v1,v2)functionr=F(x)s.t.v1≤x≤v2非线性拟合min12
19、
20、F(x,t)−y
21、
22、22x=lsqcurvefit(@F,x0,t,y,v1,v2)functionyy=F(x,t)多目标(目标)规划s.t.v1≤x≤v2minγs.t.F(x)-w*γ≤gC1(x)≤0C2(x)=0A1x≤b1A2x=b2x=fgoalattain(@f,x0,g,w,A1,b1,A2,b2,v1,v2,@C)functiony=F(x)function[C1,C2]=C(x)半无穷规划v1≤x≤v257(略)fseminf(具体形式略)第10页共11257页(略)谢金星:MAT
23、LAB优化工具箱和LINDO/LINGO优化软件第11页共112页在表2-1中用f表示标量值函数,用F表示向量值函数,即F(x)=(fi(x))。可以看出,MATLAB对连续优化问题求解提供了非常丰富的程序,而对离散优化问题的求解,目前还没有提供任何功能(据说优化工具箱的下一个版本将尝试克服这个主要的不足)。T2.2非线性方程和方程组2.2.1fzero的基本用法fzero命令用于求单变量方程的根