【发布时间】:2017-05-20 20:04:50
【问题描述】:
考虑下面的 Matlab 函数
function [f, dfx1, dfx2] = optifun(x1,x2)
f = x1(1)^2 + x1(2)^2 + x2^2;
% Gradients
dfx1(1) = 2*x1(1);
dfx1(2) = 2*x1(2);
dfx2 = 2*x2;
我的目标是针对x1 和x2 使用函数`fminunc 优化上述函数,该函数还包含渐变。不知道如果按照上面的方式定义,是否可以优化功能。
我的方法是(但我知道这行不通):
options = optimoptions('fmincon', 'SpecifyObjectiveGradient',true);
% Initializing
x10 = [1, 1];
x20 = 1;
[t1, t2] = fminunc(@(x1, x2)optifun(x1,x2), x10, x20, options);
编辑:我已经按照用户的指出进行了更正:@m7913d
【问题讨论】:
标签: matlab optimization fminsearch