我是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)中
此外,我想保留那种分布,以便可以轻松更改它。这可能吗?谢谢!
答案 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})