If statement with two conditions

16 views (last 30 days)
Amos Agbetile
Amos Agbetile on 13 Feb 2019
Commented: Amos Agbetile on 13 Feb 2019
Hello everyone, once again.
Please I need a fix for this code, I get the same answer for each condition.
function out = select(condition, a, b)
if a > b == condition
out = a;
else
out = b;
end
How can I fix this?
  5 Comments
Guillaume
Guillaume on 13 Feb 2019
Yes, as Adam said, the comments don't make sense, and it's very unclear what you're trying to achieve. Your current code is exactly equivalent to:
if condition
if a > b
out = a;
else
out = b;
end
else
if ~(a > b)
out = a;
else
out = b;
end
end
assuming condition, a, and b are scalars (if they're vectors the whole logic is a lot more complicated). Whether or not, it's what you wanted to achieve is unknown.
I get the same answer for each condition
No, you will get a different result for condition = true than for condition = false (or 0 or 1), unless a and b are equal of course.
Note that if either of a, b or condition are vectors, then vector rules apply to if and yes, it's very likely the if is always false.
Amos Agbetile
Amos Agbetile on 13 Feb 2019
Thank you Guillaume, thank you all.

Sign in to comment.

Answers (0)

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!