Omnet 仿真输出向量和标量

Omnet++仿真的向量输出文件(omnetpp.vec)记录了(time, value)对,如队列长度、延迟等统计量;标量输出文件(omnetpp.sca)则包含总统计,如发送包数、丢包率等。输出可在omnetpp.ini配置,通过cOutVector对象获取向量,finish()方法记录标量。Povoy用于向量绘图,Scalars用于标量绘图。" 110122544,10296051,Anaconda环境管理:Python初学者避坑指南,"['anaconda环境管理', 'python环境', 'anaconda切换环境', '虚拟环境', '包集合']

仿真过程中会有向量输出和标题输出,默认文件名为omnetpp.vecomnetpp.sca,尽管omnetpp.ini可以指定输出为不同的文件名,仍需要在简单模块中进行编码以让其拥有记录仿真结果的能力,所以在他人编写的仿真中可能并不创建这些文件。

一个输出向量文件包含若干输出向量,每一个向量都是一个 (timestamp,value) 对。输出向量可以存储例如关于时间的队列长度,接收数据包时端到端的延迟,丢弃的数据包或者信道吞吐量任意在简单模块中的编程所定义的统计量都可以。并且,可以在omnetpp.ini中配置输出向量:即可以启用或者关闭记录某个输出向量,或者用一定的仿真时间间隔来进行限制。可以通过查看cOutVector对象的C++的源代码来查看一个简单模块可以获取的输出向量。

输出向量根据时间来捕获行为,而输出标量文件则包含总的统计量:发送包的数目,丢弃包的数目,平均的端到端延迟,吞吐量的峰值等。可以在recodScala() 方法的调用 ,特别是在一个简单模块类中的finish()方法中查看输出标量。

输出向量可以用Plove程序来绘图,而输出标量则可以使用Scalars程序来绘图。

### OMNeT++ 网络仿真中的日志输出配置方法 在 OMNeT++ 中,日志输出是一个重要的功能,用于记录仿真过程中的各种事件状态变化。这有助于开发者分析仿真的行为并排查潜在问题。以下是关于如何在 OMNeT++ 中进行网络仿真的日志输出配置的方法。 #### 使用 `omnetpp.ini` 配置文件设置日志级别 OMNeT++ 提供了一个全局配置文件 `omnetpp.ini`,可以通过该文件控制模块的日志输出等级其他参数。常见的日志选项包括: - **debug**: 输出详细的调试信息。 - **info**: 记录一般的信息性消息。 - **warn**: 显示警告信息。 - **error**: 报告错误信息。 可以在 `omnetpp.ini` 文件中指定某个模块或整个系统的日志级别。例如,要为所有模块启用 debug 日志,可以添加如下配置[^2]: ```ini *.logLevel = "DEBUG" ``` 如果只想针对特定模块(如 Txc1),则可以这样写: ```ini **.txc1.logLevel = "INFO" ``` #### 在 C++ 代码中实现自定义日志输出 除了通过 `omnetpp.ini` 设置外,在实际开发过程中也可以利用内置宏来打印日志到终端或者文件中。这些宏主要包括但不限于以下几个: - `EV << message;`: 默认情况下会将信息发送给当前活动的用户界面(Qtenv 或 Cmdenv),并且只会在非静默模式下显示出来。 - `std::cout << message; std::endl;`: 如果希望强制输出至标准输出流,则可以直接调用此语句。 - 自定义函数封装上述两种方式以便于管理不同类型的日志条目。 下面展示了一段简单的例子演示如何向 EV 流追加一条新纪录[^1]: ```cpp void MyModule::initialize() { int value = par("exampleParameter").intValue(); EV << "Initialized with parameter: " << value << endl; } ``` 此外, 若需保存长期数据而非即时反馈的话还可以考虑采用 Scalar Recording Vector Recording 功能存储数值型变量随时间的变化轨迹. #### 可视化与进一步处理 一旦完成了基本的日志记录之后,就可以借助 Qtenv 的 Sequence Chart 工具查看节点间的消息交换情况;亦或是导出结果集再运用第三方软件绘制图表辅助理解复杂现象。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值