Untitled
% dT/dt = Q/(m*cp) - (Fin/m)(T-Tin) % dT/dt + (Fin/m)T = Q/(m*cp) + (Fin/m)Tin m = 100; cp = 2.5; Fin = 8; Q = 1000; Tin_initial = 300; step_size = 30; step_time = 150; T0 = 300; tspan = [0 300]; figure; plot(t, T, 'b-', 'LineWidth', 1.5); hold on; plot([0 step_time], [Tin_initial Tin_initial], 'r--', ... [step_time 300], [Tin_initial + step_size Tin_initial+step_size], 'r--', 'LineWidth', 1); xlabel('Time (s)'); ylabel('Temperature (K)'); title('Tank Temperature'); legend('Tank Temperature', 'Inlet Temperature'); grid on; [t,T] = ode45(@(t,T) tank_ode(t,T,m,cp,Fin,Q,Tin_initial,step_size,step_time), tspan, T0); function dTdt = tank_ode(t,T,m,cp,Fin,Q,Tin_initial,step_size,step_time) if t < step_time Tin = Tin_initial; else Tin = Tin_initial + step_size; end dTdt = Q/(m*cp) - (Fin/m)*(T-Tin); end
Leave a Comment