如何使用 fmincon() 施加一个约束,即要优化的向量中的所有值都大于零?
根据文档,我需要一些参数 A 和 b,其中 A*x ≤ b,但我认为如果我将 A 设为 -1 和 b 0 的向量,那么我将针对 x>0 的总和进行优化,而不是x 的每个值大于 0。
以防万一你需要它,这是我的代码。我正在尝试优化向量(x),使得 x 和矩阵(称为 multiplierMatrix)的(分量)乘积形成一个矩阵,其列的总和为 x。
function [sse] = myfun(x) % this is a nested function
bigMatrix = repmat(x,1,120) .* multiplierMatrix;
answer = sum(bigMatrix,1)';
sse = sum((expectedAnswer - answer).^2);
end
xGuess = ones(1:120,1);
[sse xVals] = fmincon(@myfun,xGuess,???);
如果我需要更好地解释我的问题,请告诉我。提前感谢您的帮助!