Optimization with fmincon: Error==> initVals.f = feval(funfcn{3},X,varargin{:});
1 view (last 30 days)
Show older comments
Hi I'm trying to execute an optimization program but i keep getting this error:
"
Error in ==> fmincon at 540
initVals.f = feval(funfcn{3},X,varargin{:}); "
I do not understand what does it mean. Is someone ready to help me?
My program is:
function [Apv, Awt, Ah] = minimum_cost
hybrid_simulator_multi
design0 = [10 10 200];
ndcdc=0.95;
nacdc=0.95;
ndis=1;
nch=0.85;
ninv=0.95;
nwr=0.98;
load data_2010_45_175;
Vwind=data_2010(:,2);
Ir=data_2010(:,1);
Ta=data_2010(:,3);
Pload=data_2010(:,4);
yout=[];
designold=[];
opt = simset('SrcWorkspace','Current');
[tout,xout,yout] = sim('hybrid_simulator_multi',[],opt);
options = optimset('fmincon');
options=optimset(options,'Display','iter','TolX',0.001,'TolFun',0.001);
options=optimset(options,'Algorithm','sqp');
design = fmincon(@trackmmobj,design0,[],[],[],[],[6 6 150],[15 12 300],@trackmmcon,options);
Apv = design(1); Awt = design(2); Ah = design(3);
function F = trackmmobj(design)
F(1) = yout(1,1);
end
function [c,ceq] = trackmmcon(design)
c =yout(end,3)-5;
ceq=[];
end
end
Thank you for your help!
0 Comments
Answers (1)
Alan Weiss
on 11 Nov 2013
I do not understand how you are trying to optimize your simulation. Your objective function file, if I understand correctly, is:
function F = trackmmobj(design)
F(1) = yout(1,1);
end
How is this function supposed to take a value of design and evaluate it? I have the same question about your nonlinear constraint function.
Alan Weiss
MATLAB mathematical toolbox documentation
0 Comments
See Also
Categories
Find more on Nonlinear Optimization in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!