How do I plot the output of fmincon when I'm already using options twice; once to include gradient using optimoptions and the next to plot using optiset?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Devanjith Fonseka
le 21 Mar 2018
Commenté : Devanjith Fonseka
le 21 Mar 2018
So as said in the question, I have to define options twice but I can't use them concurrently. How can I prevent conflict between include gradient and the output function? Note, that I'm using Matlab 2015 and that one of the options is commented out. Thanks!
resdof=[1,2,12];
dof=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22];
freedof=setdiff(dof,resdof);
ndof=[1,7,7,8,2,7,1,2,2,8,2,3,8,9,3,8,3,4,3,9,9,10,4,9,4,5,4,10,10,11,5,10,5,6,5,11,6,11];
ndof=[1,7,7,8,2,7,1,2,2,8,2,3,8,9,3,8,3,4,3,9,9,10,4,9,4,5,4,10,10,11,5,10,5,6,5,11,6,11];
Lvec=zeros(1,22);
Lvec(1,6)=1;
dfdu=Lvec(freedof);
x0=0.0005*ones(1,19);
lb=zeros(1,19);
options =optimoptions('fmincon','GradObj','on');
%options=optimset('OutputFcn',@outfun);
[x,fval,optimValues.iteration,iterations]=fmincon(@objfun,x0,[],[],[],[],lb,[],@nlcon,options)
0 commentaires
Réponse acceptée
Alan Weiss
le 21 Mar 2018
Feel free to try
options = optimoptions('fmincon','GradObj','on','OutputFcn',@outfun);
Or, for people who like to set only one option at a time,
options = optimoptions('fmincon','GradObj','on');
options = optimoptions(options,'OutputFcn',@outfun);
Alan Weiss
MATLAB mathematical toolbox documentation
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Solver Outputs and Iterative Display dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!