Help: if condition with evaluating multiple statements?

1 vue (au cours des 30 derniers jours)
Khanh
Khanh le 28 Oct 2014
Commenté : Khanh le 29 Oct 2014
Hi everybody,
My sample if condition have 3 expression. As the following code, how can I evaluate statement 2 and statement 3 when the expressions are true?
a=1
b=1
c=3
if c==2
disp('C=2')
elseif a~=c
disp('a~=c') % Statement 2
elseif a~=c && b~=c
disp('a&b~=c') % Statement 3
end
When I run the code, it just showed 'a~=c', eventhough the expression 'a~=c && b~=c' is true.
Thanks.

Réponse acceptée

Mischa Kim
Mischa Kim le 28 Oct 2014
Modifié(e) : Mischa Kim le 28 Oct 2014
Khanh, only one of the if ( elseif ) statements is executed. In your case it is the second one, because it is the first condition that evaluates true.
Use instead:
if c==2
disp('C=2')
elseif a~=c
if b~=c
disp('a&b~=c') % Statement 3
else
disp('a~=c') % Statement 2
end
end
  1 commentaire
Khanh
Khanh le 29 Oct 2014
Thank you so much. Your answer makes me more understood about using if condition. Actually, I want to show both 'a&b~=c' and 'a~=c' and I found that I have to use each if-end with each expression. It will be as:
if c==2
disp('C=2')
end
if a~=c && b~=c
b~=c
disp('a&b~=c') % Statement 3
end
if a~=c
disp('a~=c') % Statement 2
end
And the command window will show both statement 2 and 3.
Thanks again man.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by