MATLAB Answers

If Elseif statement problem

Asked by Meh

Meh (view profile)

on 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
```

Meh

Meh (view profile)

on 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.

Jan Simon

Jan Simon (view profile)

on 18 Jan 2013

@IA: I'd vote for it, if you post this as an answer.

Matt J

Matt J (view profile)

on 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?

Products

No products are associated with this question.

1 Answer

Answer by Matt J

on 18 Jan 2013
Edited by Matt J

Matt J (view profile)

on 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.

0 Comments

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi test

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

New to MATLAB?