问题
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
.
回答1:
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)
below30s
exponential(800ms)
between30
and60s
exponential(2s)
after60s
来源:https://stackoverflow.com/questions/31028055/how-to-change-a-parameter-value-over-time