Omnet ++:是否可以在omnetpp.ini内部的参数设置中将参数作为值重新调用?

时间:2018-11-29 19:16:45

标签: config simulation omnet++

我是omnet ++的新手,我正在尝试测试一些模拟,但是我需要根据另一个参数设置一个参数。

[General]
network = Floor

[Config Test]

Floor.sizeX = ${200, 1000}
Floor.sizeY = ${200, 1000}


Floor.slotTime = 100ms
Floor.radius = ${20, 120}
Floor.PosX = intuniform(0,Floor.sizeX)
Floor.PosY = intuniform(0,Floor.sizeY)


Floor.P = ${0.1, 0.9}

Floor.numberOfNodes = ${20, 500}

如您所见,在.ini文件中,我需要将上述参数的值设置为“ intuniform”的值。但是模拟器向我显示此错误消息:

  

无法评估参数'posX':无法评估参数'PosX':(omnetpp :: cModule)地板:无法在网络上解释表达式   级别-在网络设置过程中位于模块(节点)Floor.node [0](id = 2)中

此外,我想保留那种分布,以便可以轻松更改它。这可能吗?谢谢!

1 个答案:

答案 0 :(得分:1)

是的,可以reference to another parameter value。必须引入一个变量,例如X并使用${X}对其进行引用:

Floor.sizeX = ${X=200, 1000}
Floor.sizeY = ${Y=200, 1000}
...
Floor.PosX = intuniform(0, ${X})
Floor.PosY = intuniform(0, ${Y})