Alternatives for concise representation of conditional statements
6 次查看(过去 30 天)
显示 更早的评论
I have the following code with multiple conditional statements . Could someone suggest if there is a consice way of writing the same code? I'm looking for suggestions that can simply the if- elseif statements.
Number = 1:10
Value = [1 2 2 3 1 4 4 5 2 3]
UniqueValue = unique(Value)
for Num = Number
Val = Value(Num)
if Val == UniqueValue(1)
disp(Val+Val-1)
elseif Val == UniqueValue(2)
disp(Val+Val-1)
elseif Val == UniqueValue(3)
disp(Val+Val-1)
elseif Val == UniqueValue(4)
disp(Val+Val-1)
else
disp(Val+Val-1)
end
end
6 个评论
John D'Errico
2018-12-5
Looks like I was too late. ;-) You came to the same conclusion by the time I finished writing my response.
采纳的回答
Steven Lord
2018-12-5
You've answered your specific question, but if you encounter similar code constructs in the future (needing to check whether something is a member of a finite set of options without a potentially long series of nested if / elseif / else statements) consider ismember (as Rik suggested) or a switch / case statement.
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!