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 Programming 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!