将 50% 的节点分配给某个参数,其余的分配给另一个参数
assign 50 % of nodes to a certain parameter and the rest to another parameter
嗨,我有一个代码,我需要将一半节点分配给一个到达间隔时间,将其余节点分配给另一个到达间隔时间
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)
有什么帮助吗?
您应该在 omnetpp.ini
中写入以下行:
LoRa.numHosts = ${N=300..3000 step 100}
LoRa.host[*].iaTime = index < (${N})/2 ? exponential(600s) : exponential(60s)
第二行的index
returns这个host在hosts向量中的索引(即位置)。表达式 cond ? val1 : val2
与 C++ 中的含义相同。
嗨,我有一个代码,我需要将一半节点分配给一个到达间隔时间,将其余节点分配给另一个到达间隔时间 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)
有什么帮助吗?
您应该在 omnetpp.ini
中写入以下行:
LoRa.numHosts = ${N=300..3000 step 100}
LoRa.host[*].iaTime = index < (${N})/2 ? exponential(600s) : exponential(60s)
第二行的index
returns这个host在hosts向量中的索引(即位置)。表达式 cond ? val1 : val2
与 C++ 中的含义相同。