Printing a variable inside a while loop

1 Ansicht (letzte 30 Tage)
Natalia Oñate Gomez
Natalia Oñate Gomez am 29 Apr. 2020
Bearbeitet: Ameer Hamza am 30 Apr. 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

Antworten (1)

Ameer Hamza
Ameer Hamza am 29 Apr. 2020
Bearbeitet: Ameer Hamza am 30 Apr. 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 Kommentare
Natalia Oñate Gomez
Natalia Oñate Gomez am 29 Apr. 2020
Thank you, that was really useful.
Ameer Hamza
Ameer Hamza am 30 Apr. 2020
I am glad to be of help.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Loops and Conditional Statements 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!

Translated by