Matlab 条件最小化问题
我刚开始使用Matlab,在约束条件下优化函数时遇到困难 这是函数,lord只是一组iid随机变量Matlab 条件最小化问题,matlab,mathematical-optimization,Matlab,Mathematical Optimization,我刚开始使用Matlab,在约束条件下优化函数时遇到困难 这是函数,lord只是一组iid随机变量 F = @(l) 1/size(Lord,1)*sum(Lord<=l) 但是我不知道如何包括这个条件。所以你想知道l,其中'Fl'最小,但比'alpha'大?对于低于alpha的值,最简单的方法可能只是一个巨大的惩罚 将其作为函数直接放在最小化之前,因为Lord和alpha必须在范围内。我认为您需要与非线性条件nonlcon一起使用。或者,由于您的功能相当简单,您可以使用 [xmin f
F = @(l) 1/size(Lord,1)*sum(Lord<=l)
但是我不知道如何包括这个条件。所以你想知道l,其中'Fl'最小,但比'alpha'大?对于低于alpha的值,最简单的方法可能只是一个巨大的惩罚
将其作为函数直接放在最小化之前,因为Lord和alpha必须在范围内。我认为您需要与非线性条件nonlcon一起使用。或者,由于您的功能相当简单,您可以使用
[xmin fmin] = fminbnd(F,-1,1)
function y = F(l)
y = 1/size(Lord,1)*sum(Lord<=l);
y = y + (y > alpha) * 1e9; % the penalty term
end