Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
324 views
in Technique[技术] by (71.8m points)

omnet++ - How to change a parameter value over time?

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.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...