Error. I want to plot this ode45 pressure versus time
Afficher commentaires plus anciens
R=8.314/32;
T0=2930;
a=(12)/((2.027*10^6)^0.45);
rhoP=1920;
Astar=pi*0.25^2;
k=1.35;
n=0.45;
P0=101325;
syms P(t)
for t = [0,0.1]
dP=@(P,t)(Ab*a*P^n*(rhoP-rhoO)-P*Astar*sqrt(k/(R*T0))*(2/(k+1))^((k+1)/(2*(k-1))))*R*T0/v0;
[P,t]=ode45(dP, [0,0,1], P0);
end
if t==0 %at beginning of the integration set initial values for the persistent variables
rp=0.35; %initial port radius
t1=0; %initial time step
end
Ab=2*pi*rp*8;%burn area
rhoO=P/(R*T0); %gas density
rp=min(rp+((a*P^n)*10^-3)*(t-t1),0.7);
figure(2)
plot(t,y)
xlabel("Time (s)")
ylabel("Chamber Pressure (Pa)")
title("Chamber Pressure vs Time (Start-Up)")
Réponse acceptée
Plus de réponses (1)
Ous Chkiri
le 3 Nov 2019
0 votes
2 commentaires
Thiago Henrique Gomes Lobato
le 3 Nov 2019
If you have conditions that make a discontinuity you will have to perform the integration in a piece-wise matter and add the conditions in your integration function ("Fun" in the example I gave you). This answer and comments shows an example about how you could do it and also possible pitfalls https://de.mathworks.com/matlabcentral/answers/487643-adding-a-piecewise-time-dependent-term-in-system-of-differential-equation#answer_398394?s_tid=prof_contriblnk
Ous Chkiri
le 3 Nov 2019
Catégories
En savoir plus sur Programming dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!