How to change a parameter value over time?

2019-01-27 00:19发布

I need to change the value of a volatile parameter over time in a simulation. I.e. in the first 30s of the simulation I need exp(400ms) after that, until 60s I need exp(800ms) and after 60s exp(2s) for interArrivalTime.

标签: omnet++
1条回答
来,给爷笑一个
2楼-- · 2019-01-27 00:43

For volatile parameters there is a pretty easy trick. Use the ? : operator along with the simTime() NED function:

**.interArrivalTime = simTime() < 30s ? exponetntial(400ms) : exponential(800ms)

or you can even chain them as ?: operator is evaluated left to right:

**.interArrivalTime = exponential(simTime() < 30s ? 400ms : simTime() < 60s ? 800ms : 2s)

would give:

  • exponential(400ms) below 30s
  • exponential(800ms) between 30 and 60s
  • exponential(2s) after 60s
查看更多
登录 后发表回答