Printing a variable inside a while loop

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

답변 (1개)

Ameer Hamza
Ameer Hamza 2020년 4월 29일
편집: Ameer Hamza 2020년 4월 30일

0 개 추천

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

Thank you, that was really useful.
Ameer Hamza
Ameer Hamza 2020년 4월 30일
I am glad to be of help.

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

질문:

2020년 4월 29일

편집:

2020년 4월 30일

Community Treasure Hunt

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

Start Hunting!

Translated by