Simplifying the If statements.

Hello Everyone, I am making this routing table for my network which is working fine but is there any efficient way of doing this, as i am running my simulation for 100000 iterations. In the following code, the variable idabs takes a value between 1 to 16 and depending on its value, the value of idcabs is generated accordingly.Thank you.
if any(idabs==[1:8])
cabs_vector=[9,10,11,12];
if idabs<=4
idcabs=cabs_vector((idabs))
else
idcabs=cabs_vector((idabs-4))
end
else
cabs_vector=[13,14,15,16];
if idabs<=12
idcabs=cabs_vector((idabs-8))
else
idcabs=cabs_vector((idabs-12))
end
end

 Accepted Answer

cabs_vector = [9 10 11 12 9 10 11 12 13 14 15 16 13 14 15 16];
idcabs = cabs_vector(idabs);

1 Comment

Ooh, Thank you. Seems like i should take a break now. Have a great weekend.

Sign in to comment.

More Answers (0)

Categories

Find more on Deep Learning Toolbox 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!