Am I using the fminsearch correctly?
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
A K
le 27 Oct 2016
Commenté : Walter Roberson
le 27 Oct 2016
I don't seem to be converging to the correct value whilst using fminsearch, does anyone know if this layout is correct?
function reboiler_temp=bubble_point(x,A,B,C,P,bubble_components,T);
% calculate the temperature for the individual components
%input_data=get_input_data();
temp=0;
bubble_temp=zeros(bubble_components);
for i=1:bubble_components
bubble_temp(i)=10^(A(i)-B(i)/(T+C(i)))*x(i);
temp=temp+bubble_temp(i);
end
temp
reboiler_temp=abs(temp-P)
return;
In the script i have this:
T(1)=input_data.simulation_data.reboiler_temp;
reboiler_temp= fminsearch(@bubble_point,T(1),[],x,A,B,C,P,bubble_components)
0 commentaires
Réponse acceptée
Walter Roberson
le 27 Oct 2016
In your line
reboiler_temp=sum(temp)-P;
what is temp ?
Why do you loop through calculating bubble_temp but then overwrite it with the result of your fminsearch?
Why do you create a function handle with parameter bubbletemp and then ignore the parameter? Why is that function handle relying upon the value of i that just happens to be "left over" from the for i loop?
2 commentaires
Walter Roberson
le 27 Oct 2016
reboiler_temp= fminsearch(@(t) bubble_point(x, A, B, C, P, bubble_components, t), T(1))
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Loops and Conditional Statements 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!