x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options) x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options,P1,P2, ...)
第三十五页,共五十九页。
输入(shūrù)参数的几点说明
模型中如果没有(méi yǒu)A,b,Aeq,beq,lb,ub的限制,则以空矩阵[ ]作为 参数传入; nonlcon:如果包含非线性等式或不等式约束,则将这些函数
第二十八页,共五十九页。
第二步:求
最优的目标 函数 (k) (mùbiāo)
function r=fungetlamada(lamada) %关于(guānyú)lamada的一元函数,求最优步长 global x0 d=fun1gra(x0); r=2*(x0(1)-lamada*d(1))^2+(x0(2)lamada*d(2))^2; %注意负号表示是负梯度
主程序main1.m(续)
while sqrt(sum(d.^2))>=yefi lamada=fminsearch(‘fungetlamada’,la mada);%求最优步长lamada
x0=x0-lamada*fun1gra(x0);%计算x0 d=fun1gra(x0);%计算梯度 k=k+1;%迭代(dié 次数 dài) end disp('x='),disp(x0),disp('k='),disp (k),disp('funobj='),disp(2*x0(1)^2+ x0(2)^2)
第八页,共五十九页。
程序3:辅助(fǔzhù)函数程序fun2min.m