在matlab中否定函数的最快方法是什么?
我需要最大限度地发挥某种功能;要做到这一点,我在函数上应用fmincon。问题是函数返回(如果请求)它的渐变,所以做
fmincon(@(x) -function1(x))
不起作用。现在我已经实现了一个否定其参数的函数,如此
function [value, gradient] = negateFunction(functionToNegate, point)
if nargout <= 1
value = -functionToNegate(point);
elseif nargout == 2
[value, gradient] = functionToNegate(point);
value = -value;
gradient = -gradient;
end
end
但它看起来有点像矫枉过正。有更好/更快的方式吗?