Matlab 条件最小化问题

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

我刚开始使用Matlab,在约束条件下优化函数时遇到困难

这是函数,lord只是一组iid随机变量

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