Need help with If statement
Show older comments
Hello everyone, My question is, in the below code, idsabs can take any value from 1 to 16. Depending on the value of idsabs, i want to set the value of idcabs. Is there any other way of doing this, because i think its too long just to get a single value. Thank you so much and Happy New Year.
if idsabs>=1 && idsabs<=2
idcabs=1;
elseif idsabs>=3 && idsabs<=4
idcabs=3;
elseif idsabs>=5 && idsabs<=6
idcabs=4;
elseif idsabs>=7 && idsabs<=8
idcabs=6;
elseif idsabs>=9 && idsabs<=10
idcabs=5;
elseif idsabs>=11 && idsabs<=12
idcabs=7;
elseif idsabs>=13 && idsabs<=14
idcabs=8;
elseif idsabs>=15 && idsabs<=16
idcabs=2;
end
3 Comments
Stephen23
on 31 Dec 2014
You define, for example, what happens for values of idsabs<=2 and idsabs>=3 , but what happens if idsabs is equal to 2.5 ?
Aftab Ahmed Khan
on 31 Dec 2014
Edited: Aftab Ahmed Khan
on 31 Dec 2014
Jan
on 31 Dec 2014
If you have checked for idsabs<=2, there is no reason to check "idsabs>=3" anymore.
Accepted Answer
More Answers (1)
A little bit simpler without "compression" of the look-up-table:
LUT = [1, 1, 3, 3, 4, 4, 6, 6, 5, 5, 7, 7, 8, 8, 2, 2];
idcabs = LUT(idsabs);
Categories
Find more on Environment and Settings 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!