Azzera filtri
Azzera filtri

If Elseif statement problem

1 visualizzazione (ultimi 30 giorni)
Meh
Meh il 18 Gen 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 Commenti
Jan
Jan il 18 Gen 2013
@IA: I'd vote for it, if you post this as an answer.
Matt J
Matt J il 18 Gen 2013
Modificato: Matt J il 18 Gen 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?

Accedi per commentare.

Risposte (1)

Matt J
Matt J il 18 Gen 2013
Modificato: Matt J il 18 Gen 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.

Categorie

Scopri di più su Debugging and Analysis in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by