能不能在omnet++中只记录部分模拟结果,而不记录所有模拟结果?
Can we record only some simulation results in omnet++ instead of all simulation results?
我正在模拟一个大型传感器网络,我想知道是否有一种方法可以只记录部分模拟结果而不是记录所有结果。如果是,如何指定我要记录的结果。记录少量结果而不是全部记录对模拟时间有影响吗?
您可以 enable and disable result and select different recording modes 来自 ini 文件。
如果您的 .sca 文件中的值太多,您也可以从 浏览数据 界面(您可以在其中访问所有记录的值)简单地过滤它们。
在omnetpp.ini
中使用vector-recording
和scalar-recording
是control result items的最简单方法。
一个例子。
假设有 10 台主机,并且记录了 lostPackets
标量。但是我们只想记录 host[2]
和 host[3]
的这个标量。所以我们可以在omnetpp.ini
中写成:
**.host[2].somemodule1.somemodule2.lostPackets.scalar-recording = true
**.host[3].somemodule1.somemodule2.lostPackets.scalar-recording = true
**.host[*].somemodule1.somemodule2.lostPackets.scalar-recording = false
值得注意的是,当使用 Signal-Based 统计信息时,可以 more advanced 控制记录结果。
很难说记录结果对模拟效率的影响是什么——这取决于很多因素(例如向量条目记录的频率、有多少模块记录项目)。
我正在模拟一个大型传感器网络,我想知道是否有一种方法可以只记录部分模拟结果而不是记录所有结果。如果是,如何指定我要记录的结果。记录少量结果而不是全部记录对模拟时间有影响吗?
您可以 enable and disable result and select different recording modes 来自 ini 文件。
如果您的 .sca 文件中的值太多,您也可以从 浏览数据 界面(您可以在其中访问所有记录的值)简单地过滤它们。
在omnetpp.ini
中使用vector-recording
和scalar-recording
是control result items的最简单方法。
一个例子。
假设有 10 台主机,并且记录了 lostPackets
标量。但是我们只想记录 host[2]
和 host[3]
的这个标量。所以我们可以在omnetpp.ini
中写成:
**.host[2].somemodule1.somemodule2.lostPackets.scalar-recording = true
**.host[3].somemodule1.somemodule2.lostPackets.scalar-recording = true
**.host[*].somemodule1.somemodule2.lostPackets.scalar-recording = false
值得注意的是,当使用 Signal-Based 统计信息时,可以 more advanced 控制记录结果。
很难说记录结果对模拟效率的影响是什么——这取决于很多因素(例如向量条目记录的频率、有多少模块记录项目)。