"Too many output arguments" error while working with the fmincon solver inside the optimization tool.
1 view (last 30 days)
Show older comments
Explenation after the code.
% Set nondefault solver options
options2 = optimoptions('fmincon','PlotFcn','optimplotfvalconstr');
% Solve
[solution,objectiveValue] = fmincon(@objectiveFcn,w,[],[],[],[],[],[],...
@objectiveFcn,options2);
% Clear variables
clearvars options2
These are at default.
function f = objectiveFcn(optimInput)
x = optimInput(1:8124);
y = optimInput(8125:end);
f = -sum(1./(1+exp(-x))*1./(1+exp(-y')),'all');
end
function [c,ceq] = constraintFcn(optimInput)
x = optimInput(1:8124);
y = optimInput(8125:end);
c = sum(1./(1+exp(-x))*1./(1+exp(-y')).*(1.-aa),'all') - 0.1;
ceq = [];
end
vector w is passed for optimInput which is a 8243*1 vector. aa variable inside the constraint is a 8124*119 matrix. I am getting the error too many output arguments. How should I model something like this?
2 Comments
Jan
on 11 Sep 2021
Please post the complete error message, not just a part of it. Then the reades can see, where the problem occurs. We cannot run your code because w is missing.
Accepted Answer
Jan
on 11 Sep 2021
A bold guess:
[solution,objectiveValue] = fmincon(@objectiveFcn,w,[],[],[],[],[],[],...
@objectiveFcn,options2);
% ^^^^^^^^^^^^^ This should be "constraintFcn" ?!
0 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!