Simplifying the If statements.

1 view (last 30 days)
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

James Tursa
James Tursa on 7 Mar 2015
cabs_vector = [9 10 11 12 9 10 11 12 13 14 15 16 13 14 15 16];
idcabs = cabs_vector(idabs);
  1 Comment
Aftab Ahmed Khan
Aftab Ahmed Khan on 7 Mar 2015
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 Simulink 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!