Turn off display for fsolve during a loop
Afficher commentaires plus anciens
I am using a loop function to perform fsolve on a matrix. I am adapting a script provided by another person which would be applied to one condition at a time and looping it so I can apply it to a set of 1,000 results. Here is how I have it set up:
Ap=bts2(:,1);
A1=(1+Ap.^2).^-1;
short2longratio=A1./(1-A1);
for v = 1:1:1000
kin(v,:) = fsolve('sigma54_kinetics_fit_values_r12_weight_ratio',[.01 .01 .005],[],0,bts2(v,3),bts2(v,2),short2longratio(v));
end
This means that I end up seeing the text for "Equation solved. ..." x1,000 when I run this loop. I tried the previously recommended answer to change the settings (see below), but it didn't work.
for v = 1:1:1000
opts = optimset('Diagnostics','off', 'Display','off');
kin(v,:) = fsolve('sigma54_kinetics_fit_values_r12_weight_ratio',[.01 .01 .005],[],0,bts2(v,3),bts2(v,2),short2longratio(v), opts);
end
By changing the end of "fsolve('sigma54..." from "...ratio(v));" to "...ratio(v), opts);" the script/function breaks. If I just have the line for "opts = optimset..." and the regular ending of the fsolve function the display appears x1,000. Any solution?
1 commentaire
dpb
le 30 Nov 2017
Doc for fsolve and optimset says to use <optimoptions> instead for everything except fzero, fminbnd, fminsearch, and lsqnonneg. Whether that'll fix the issue I don't know, but I'd certainly start there.
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Surrogate Optimization dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!