Matlab最优化问题求解无约束最优化问题无约束最优化问题一般描述为:minfx其中x=[x1,x2…xn]T,该数学表示的含义是求一组x,使得目标函数f(x),调用格式为:·[x,fval]=fminbnd(***@fname,x1,x2,options):求一元函数在(x1,x2)区间中的极小值点x和极小值fval;·[x,fval]=fminsearch(***@fname,x0,options):基于单纯形算法求多元函数的极小值点x和极小值fval;·[x,fval]=fminunc(***@fname,x0,options):,fname是定义函数m文件的文件名,fminbnd的输入变量x1,x2分别是研究区间的左右边界;fminsearch和fminunc的输入变量x0是一个向量,,可以通过optimset函数来设置,当目标函数的阶数大于2时,使用fminunc比fminsearch更有效;但是目标函数高度不连续时,,只要-f(x)在(a,b)上的最小值就是f(x)在(a,b)(-f,x1,x2)返回函数f(x)在(x1,x2)上的最大值的相反数.---------------------------------------------------------------------例如:求函数fx=x3-2x-5在区间[0,5]=mymin(x)fx=x.^3-2*x-5;[x,fval]=fminbnd(***@mymin,0,5)x==-=,极小值为----------------------------------------------------------------------例如:设fx,y,z=x+y24x+z2y+2z求函数f(x,y,z)在(,,)=fxyz(p)x=p(1);y=p(2);z=p(3);f=x+y^2/4/x+z^2/y+2/z;[U,min]=fminsearch(***@mymin,[,,])U==---------------------------------------------------------------------有约束最优化问题求解有约束最优化问题一般描述为:,G(X)≤0fx其中x=[x1,x2…xn]T,该数学表示的含义是求一组x,使得目标函数f(x)最小,且满足约束条件G(x)·线性不等式约束:Ax≤b·线性等式约束:Aeqx=beq·非线性不等式约束:Cx≤0·非线性等式约束:Ceqx=0·x的上界和下界:Lbnd≤x≤UbndMatlab提供了fmincon函数,用于求解各种约束下的最优解问题,调用格式为:[x,fval]=fmincon(***@fname,x0,A,b,Aeq,beq,Lbnd,Ubnd,Nonf,options)X,fname,fval,x0和options含义与求最小值函数相同,其余参数为约束条件,参数NonF为非线性约束函数的M文件名,如果该约束不存在则用空矩阵表示.---------------------------------------------------------------------例如:=+x12+x22-x1x2+130x13x1+≥+x2≥≥0,x2≥0functionf=fop(x)f=*x(2)+x(1)^2+x(2)^2-x(1)*x(2)+1/30*x(1)^3;AA=----=--=00x0x0=[x,f]=fmincon(***@fop,x0,A,b,[],[],lb,[],[],options)x==,如果出现大于号要将不等式两端取相反数转换成小于号再列写A,b矩阵.------------------------------------------------
Matlab 7最优化问题求解. 来自淘豆网m.daumloan.com转载请标明出处.