Simplifying the If statements.

1 次查看(过去 30 天)
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

采纳的回答

James Tursa
James Tursa 2015-3-7
cabs_vector = [9 10 11 12 9 10 11 12 13 14 15 16 13 14 15 16];
idcabs = cabs_vector(idabs);
  1 个评论
Aftab Ahmed Khan
Aftab Ahmed Khan 2015-3-7
Ooh, Thank you. Seems like i should take a break now. Have a great weekend.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Simulink 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by