If Elseif statement problem

2 Ansichten (letzte 30 Tage)
Meh
Meh am 18 Jan. 2013
What is wrong with this the debug is stopping eventhough my d_g value is between 1 and 60. Any suggestion?
if Fr>0.8 % A-W is not suitable for Fr>0.8
disp('Ackers white not suitable for Fr>=0.8')
elseif Fr<0.8
if (d_g>1) && (d_g<60)
A_aw=0.23*d_g^(-0.5)+0.14;
C_aw=10^(2.86*log10(d_g)-(log10(d_g))^2-3.53);
n_aw=1-0.56*log10(d_g);
m_aw=9.66/d_g+1.34;
elseif d_g>60
A_aw=0.17;
C_aw=0.025;
n_aw=0;
m_aw=1.5;
else
disp('Check your input for d_35 again')
end
end
  6 Kommentare
Jan
Jan am 18 Jan. 2013
@IA: I'd vote for it, if you post this as an answer.
Matt J
Matt J am 18 Jan. 2013
Bearbeitet: Matt J am 18 Jan. 2013
I used " dbstop if error " : the loop continues until else if Fr<0.8 but, eventhough the d_g value is between 1 and 60 A_aw, C_aw, n_aw_and m_aw are not being calculated.
Why would "dbstop if error" stop there? What error was produced to trigger the stop, and what was the value between 1 and 60 that d_g held at that moment?

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Matt J
Matt J am 18 Jan. 2013
Bearbeitet: Matt J am 18 Jan. 2013
In addition to my questions above, is it possible that d_g is exactly 1 or 60? Currently, you only test whether it lies strictly between them.

Kategorien

Mehr zu Creating and Concatenating Matrices 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