我想在代码中应用if条件而不使用循环。请建议
BC=[1 0 5 -1 0 ];
for j=1:N_Nodes
if BC(j)>0
for k=1:N_Nodes
if BC(k)==0 && dist(j,k)<CS_Range && NAV(j)<packetlength
NAV(j)=packetlength;
end
end
end
end
答案 0 :(得分:0)
如果我正确理解了您的问题,则您希望将NAV的每个元素都设置为数据包长度,如果BC均为0并且当前NAV小于数据包长度。同样,此操作的范围应最大为CS_RANGE。假设N_Nodes等于BC的长度且等于NAV的长度(5),则可以使用布尔运算:
NAV(BC==0 & NAV<packetlength) = packetlength
由于数据包长度在此过程中没有变化,因此无论如何都可以省略外循环,因此不需要任何距离边界。
如果这不能回答您的问题,请在代码中定义未定义的参数。