无约束优化

时间:2014-08-12 14:38:44

标签: matlab optimization

function f = objfun(x)
f = exp(x(1)) * (4*x(1)^2 + 2*x(2)^2 + 4*x(1)*x(2) + 2*x(2) + 1);
x0=[-1,1];
options = optimoptions(@fminunc,'Algorithm','quasi-newton');
[x,fval,exitflag,output] = fminunc(@objfun,x0,options);
x,fval,exitflag,output
end

你可以帮我运行代码吗?

1 个答案:

答案 0 :(得分:2)

f转换为函数句柄

fun = @(x) exp(x(1)) * (4*x(1)^2 + 2*x(2)^2 + 4*x(1)*x(2) + 2*x(2) + 1);

然后使用

调用fminunc
[x,fval,exitflag,output] = fminunc(fun,x0,options);

作为旁注,请不要永远从目标函数中调用fminunc