How do I store values from a while loop and plot the values in fonction of the number of iteration?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Sarah Mignon
am 15 Okt. 2020
Kommentiert: Sarah Mignon
am 15 Okt. 2020
Hello!
In the loop while I would like to store the values of each loop, and plot it with the corresponding iteration t.
m_cafe=0.2; %kg
m_cream=0.05; %kg
Cp_water=4179,6;
T_cafe=5+273.15; %K
T_cream=90+273.15;
m_mix=m_cafe+m_cream;
Tm=(m_cafe*Cp_water*T_cafe+m_cream*Cp_water*T_cream)/(m_mix);
U=20; %W/m2.K
Tamb=20+273.15; %K
d=0.05; %m
r=d/2; %m
Vol_cafe=m_cafe*0.001 % 1 kg=1 liter= 0.001m3
Vol_mix=m_mix*0.001 %
h_cafe=Vol_cafe/(3.14*r^2)
h_mix=Vol_mix/(3.14*r^2)
Air_cafe=3.14*d*h_cafe
Air_mix=3.14*d*h_mix
step=0.5;
e=1
t=0
while e>=0.01
y=(Tm-Tamb)*exp(((-Air_mix*U)/(m_mix*Cp_water))*t)+Tamb;
Temp(t)=y;
e=abs(Temp-Tamb);
t=t+step
end
plot (t,Temp,'r')
1 Kommentar
Rik
am 15 Okt. 2020
This time I edited your question for you. Next time, please use the tools explained on this page to make your question more readable.
Akzeptierte Antwort
Rik
am 15 Okt. 2020
Indices in Matlab need to be positive integers. You should create a separate time vector.
And don't forget to index Temp, otherwise your condition will be a vector.
3 Kommentare
Rik
am 15 Okt. 2020
You need to use a separate index, which will increment only by integer values:
t=0;
Temp=0;
n=1;
e=1;
while e>=0.01
n=n+1;
Temp(n)=___
t(n)=t(n-1)+step;
end
plot(t,Temp)
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Graphics Object Programming finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!