如何随时间更改参数值?
How to change a parameter value over time?
我需要在模拟中随时间更改可变参数的值。 IE。在模拟的第一个 30s
之后,我需要 exp(400ms)
,直到 60s
,我需要 exp(800ms)
,在 60s exp(2s)
之后,我需要 interArrivalTime
。
对于可变参数,有一个非常简单的技巧。将 ? :
运算符与 simTime()
NED 函数一起使用:
**.interArrivalTime = simTime() < 30s ? exponetntial(400ms) : exponential(800ms)
或者您甚至可以将它们链接为 ?: 运算符从左到右求值:
**.interArrivalTime = exponential(simTime() < 30s ? 400ms : simTime() < 60s ? 800ms : 2s)
会给出:
exponential(400ms)
低于 30s
exponential(800ms)
在 30
和 60s
之间
exponential(2s)
在 60s
之后
我需要在模拟中随时间更改可变参数的值。 IE。在模拟的第一个 30s
之后,我需要 exp(400ms)
,直到 60s
,我需要 exp(800ms)
,在 60s exp(2s)
之后,我需要 interArrivalTime
。
对于可变参数,有一个非常简单的技巧。将 ? :
运算符与 simTime()
NED 函数一起使用:
**.interArrivalTime = simTime() < 30s ? exponetntial(400ms) : exponential(800ms)
或者您甚至可以将它们链接为 ?: 运算符从左到右求值:
**.interArrivalTime = exponential(simTime() < 30s ? 400ms : simTime() < 60s ? 800ms : 2s)
会给出:
exponential(400ms)
低于30s
exponential(800ms)
在30
和60s
之间
exponential(2s)
在60s
之后