Good day. I have a for loop to do iteration from 1 to a, where a is the length of vector. If loop is used to calculate the pressure level. In the first condition if Pt(i+1)>=P_load & Pt(i+1)0 The code runs as wanted. But in the second condition, the iteration only run once instead of continuing to run when the condition is true. The pressure should be increasing until P_unload and starts to decrease until P_load. The pressure should not exceed the P_unload and should not lower than the P_load. How should I change the If loop so that the iteration can continue by switching to corresponding formula in different conditions? The pressure level should look like something varying between P_load and P_unload. Below I attached the code that I had done. P_load=832.40; P_unload=901.35; rho=1.2; R= 0.287; T_std=293; T_stdf=((T_std-273)*(9/5))+32; T_atm=304; T_atmf=((T_atm-273)*(9/5))+32; SCFM=64; ACFM= SCFM*((T_atmf+460)/(T_stdf+460)); V_dotdemand(1:2882, 1) = 30; V_dotsupply=ACFM; a=length(V_dotdemand); V_dotleak=5.9788; t_charging= 20; V_rec=(t_charging*(V_dotsupply-V_dotleak)*rho*T_atm*R)./(60*(P_unload-P_load)); t=5; Pt(1)=P_load; for i=1:a Pt(i+1)=Pt(i)+((V_dotsupply-(V_dotdemand(i)+V_dotleak))*t*rho*R*T_atm)/(60*V_rec); if Pt(i+1)>=P_load & Pt(i+1)0 Pt(i+1)=Pt(i)+((V_dotsupply-(V_dotdemand(i)+V_dotleak))*t*rho*R*T_atm)/(60*V_rec) elseif Pt(i+1)>P_unload Pt(i+1)=Pt(i)-((V_dotdemand(i)+V_dotleak)*t*rho*R*T_atm)/(60*V_rec) elseif Pt(i+1)>=P_load & Pt(i+1)
No answer yet