Help: if condition with evaluating multiple statements?

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.

 Accepted Answer

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 Comment

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.

Sign in to comment.

More Answers (0)

Categories

Asked:

on 28 Oct 2014

Commented:

on 29 Oct 2014

Community Treasure Hunt

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

Start Hunting!