【问题标题】:Omnet++ : Is it possible to recall a parameter as value inside a parameter setting inside the omnetpp.ini?Omnet++:是否可以在 omnetpp.ini 内的参数设置中调用参数作为值?
【发布时间】:2019-05-01 22:22:55
【问题描述】:

我是 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:无法在网络上解释表达式 level -- 在模块 (Node) Floor.node[0] (id=2) 中,在网络设置期间

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

【问题讨论】:

  • 你说的离开是什么意思种类分布?
  • 我的意思是,在 .ini 文件而不是 NED 上设置分发类型。
  • 但是在 omnetpp.ini 中设置分布类型 is(即Floor.PosX = intuniform(0, ${X}) 行在 omnetpp.ini 中)。

标签: config simulation omnet++


【解决方案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})

【讨论】:

    猜你喜欢
    • 2021-08-16
    • 1970-01-01
    • 1970-01-01
    • 2012-05-07
    • 2019-11-10
    • 2016-09-30
    • 2020-01-10
    • 1970-01-01
    • 2019-10-15
    相关资源
    最近更新 更多