Printing a variable inside a while loop

1 vue (au cours des 30 derniers jours)
Natalia Oñate Gomez
Natalia Oñate Gomez le 29 Avr 2020
Modifié(e) : Ameer Hamza le 30 Avr 2020
I'm trying to print rt, which is the time when the voltage reaches 27.4643, but it won't print anything. I think there's a problem inside the while or there's something wrong with the if. Basically, how can I make it print rt?
t=[0:0.5:100];
while (Vr>Vf)
V=Vo*exp(-t/(R*C));
I=Io*exp(-t./(R*C));
Q=Qo*exp(-t./(R*C));
U=Uo*exp(-2*t./(R*C));
Vr=V;
if(V==27.4643)
rt=-R*C*(log(V/Vo)); %ecuación diferencial despejada para obtener tiempo
disp(rt)
end
end

Réponses (1)

Ameer Hamza
Ameer Hamza le 29 Avr 2020
Modifié(e) : Ameer Hamza le 30 Avr 2020
The value will probably never become exactly equal to 27.4643. You need to define some tolerance limits for this comparison.
if(abs(V-27.4643)<0.5)
If the value of V is within 0.5 of 27.4643, the condition will become true. Adjust the tolerance values according to your requirement.
  2 commentaires
Natalia Oñate Gomez
Natalia Oñate Gomez le 29 Avr 2020
Thank you, that was really useful.
Ameer Hamza
Ameer Hamza le 30 Avr 2020
I am glad to be of help.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by