Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
328 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 Reply

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...