want to follow my iteration - how?

1 view (last 30 days)
Meh
Meh on 7 Oct 2011
Hi, I want to follow how my while-loop iteration is proceeding at each step. How can I do this?****I want to understand and correct why my iteration is never ending:
v_m=10;
R_try=0;
v_m_try=0;
while abs(v_m_try-v_m)>0.01
if (v_m_try<v_m)
R_try=R_try+0.05;
v_0_try=sqrt(9.81*R_try*0.02);
v_m_try=0.4*log(12.27*v_0_try^2);
else
R_try=R_try-0.05;
v_0_try=sqrt(9.81*R_try*0.02);
v_m_try=0.4*log(12.27*v_0_try^2);
end
end
  2 Comments
Jan
Jan on 7 Oct 2011
Please use proper code formatting. Follow the "Markup help" link on this page.
Florin Neacsu
Florin Neacsu on 7 Oct 2011
Maybe use debugger?

Sign in to comment.

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 7 Oct 2011
v_m=10;
R_try=0;
v_m_try=0;
i1 = 0;
while abs(v_m_try-v_m)>0.01 && i1 < 100
if v_m_try<v_m
R_try=R_try+0.05;
else
R_try=R_try-0.05;
end
v_0_try=sqrt(9.81*R_try*0.02);
v_m_try=0.4*log(12.27*v_0_try^2);
i1 = i1 + 1;
out(i1,:) = [R_try, v_m_try];
end
  6 Comments
Matt Tearle
Matt Tearle on 7 Oct 2011
FWIW, rather than fzero, you could also just do it algebraically: R_try = exp(10/0.4)/(12.27*9.81*0.02)
Andrei Bobrov
Andrei Bobrov on 7 Oct 2011
Thanks Matt! I've been seeing only the "fzero", "fsolve" b and other tricks - I'm a hostage MATLAB, I start to forget algebra - my fault ... :)

Sign in to comment.

More Answers (1)

Bjorn Gustavsson
Bjorn Gustavsson on 7 Oct 2011
If you want to see what's going on you can use:
disp([v_m,v_m_try,v_0_try,R_try])
If that is not detailed enough check the trusty pair: fprintf and sprintf.
HTH,

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!