Am I using the fminsearch correctly?
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Walter Roberson
2016-10-27
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 个评论
Walter Roberson
2016-10-27
reboiler_temp= fminsearch(@(t) bubble_point(x, A, B, C, P, bubble_components, t), T(1))
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!