Optimization with fmincon: Error==> initVals.f = feval(funf​cn{3},X,va​rargin{:})​;

1 回表示 (過去 30 日間)
Sébastien
Sébastien 2013 年 11 月 8 日
回答済み: Alan Weiss 2013 年 11 月 11 日
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!

回答 (1 件)

Alan Weiss
Alan Weiss 2013 年 11 月 11 日
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

カテゴリ

Help Center および File ExchangeNonlinear Optimization についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by