我有一个代码,我需要将一半节点分配到一个到达间隔时间,其余节点分配到另一个到达间隔 LoRa.numHosts = 300
LoRa.host[0..149].iaTime = exponential(600s)
LoRa.host[150..299].iaTime = exponential(60s)
有没有办法一般地做到这一点,所以我只需要更改numHosts,代码完成剩下的工作(这会给出错误!)
LoRa.numHosts = ${N=300..3000 step 100}
LoRa.host[0..(numHosts/2)-1].iaTime = exponential(600s)
LoRa.host[(numHosts/2)..numHosts].iaTime = exponential(60s)
有什么帮助吗?
答案 0 :(得分:3)
您应该在omnetpp.ini
中写下以下几行:
LoRa.numHosts = ${N=300..3000 step 100}
LoRa.host[*].iaTime = index < (${N})/2 ? exponential(600s) : exponential(60s)
第二行中的index
返回主机向量中该主机的索引(即位置)。表达式cond ? val1 : val2
与C ++中的含义相同。