1、Matlab 优化工具箱详解(2008-10-20 09:15:00)标签:文化 1fminbnd进行有约束的一元函数最小值求解。它的求解命令是:X = FMINBND(FUN,x1,x2),FUN 是目标函数,可以为表达式字符串或 MATLAB 自定义函数的函数柄,要求解在约束 x1 0,表示函数收敛于 x,若 exitflag=0,表示达到了最大迭代次数,exitflagx = fmincon(myfun,x0,A,b,Aeq,beq,lb,ub,mycon),先建立非线性约束函数,并保存为mycon.m:function C,Ceq = mycon(x)C = % 计算 x 处的非线性不
2、等约束 的函数值。Ceq = % 计算 x 处的非线性等式约束的函数值。lambda 是 Lagrange 乘子,它体现哪一个约束有效。output 为输出优化信息;grad 表示目标函数在 x 处的梯度;hessian 表示目标函数在 x 处的 Hessiab 值。例如,目标函数为:function f = myfun(x)f = -x(1) * x(2) * x(3);约束为:0x(1)+2x(2)+2x(3) 72那么我们可以将其写成 Axb 的形式,则A=-1 -2 -2;1 2 2;b=0;b;求解命令为:x0 = 10; 10; 10; % 初始值x,fval = fmincon(myfun,x0,A,b)注:以上大部分来自 Matlab help。