omnet++:官方文档翻译总结(五)
Part 6 - 用IDE将结果可视化
学习翻译自:Visualizing the Results - OMNeT++ Technical Articles
①将输出的数值和向量数据可视化(用tictoc15的数据)
OMNET++ IDE支持对结果的分析,包括滤波、处理和展示数值和向量数据,还可以展示直方图。本节之后的图都适用IDE的Result Analysis工具创建出来的。
在项目文件夹中的results目录下包含了.vec和.sca文件,分别存储结果中的vector和数值数据。vector文件中把数据记录为时间的函数,而数值数据只是单纯在仿真结束时把数据集中起来。
在IDE中直接双击打开.vec和.sca文件,就可以进入Result Analysis tool。

Part 7 - Parameter Studies:Tictoc18
学习翻译自:Parameter Studies - OMNeT++ Technical Articles
①目的
我们想要运行一个有不同数量节点的网络仿真,并且观察其中的网络变化。在OMNET++我们可以用parameters studies一次用不同的parameters值运行多个仿真。
我们可以把中心节点变成一个parameter,使用和之前例子中相同的路由算法。最终我们感兴趣的是节点数量如何影响平均跳数。
②使网络拓扑结构参数化(Making the network topology parametric)
为了将整个网络参数化,节点数量将作为NED parameter给出,在本例中为numCentralNodes。这个参数说明了在网络中心环节中有多少个节点——中心节点中不覆盖边缘的两个节点。

包含了边缘4个节点的网络总结点数是numCentralNodes+4。默认的numCentralNodes参数是2,这刚好和我们上一步中定义的网络相匹配。
network TicToc18
{
parameters:
int numCentralNodes = default(2);
types:
channel Channel extends ned.DelayChannel{
delay = 100ms;
}
submodules:
tic[numCentralNodes+4] : Txc18;
现在,我们必须说明连入这个网络的不同数量的节点的信息。首先,一边的两个节点与第三个节点连接,另一边的两个节点也和另一个第三个节点相连接。网络中心节点通过一个for循环连接。从第三个节点开始,每个编号为i的节点都要与编号为i+1的节点相连接:
connections:
//在一边将两个节点连入中心节点
tic[0].gate++ <--> Channel <--> tic[2].gate++;
tic[1].gate++ <--> Channel <--> tic[2].gate++; //中心节点间的互联
for i=2..numCentralNodes+1 {
tic[i].gate++ <--> channel <--> tic[i+1].gate++; //在另一边连接另外两个节点到中心节点
tic[numCentralNodes+2].gate++ <--> Channel <--> tic[numCentralNodes+1].gate++;
tic[numCentralNodes+3].gate++ <--> Channel <--> tic[numCentralNodes+1].gate++;
这里,中心节点数为4(即numCentralNodes = 4)的网络看起来像下边这样:

为了能够运行由多个不同numCentralNodes的节点的仿真网络,我们可以在ini文件中指定变量N的值:
*.numCentralNodes = ${N=2..100 step 2}
③配置parameter study
我们指定了N为从2到100的步长为2的数列。这将生成50个仿真网络。每个网络都可以在GUI中看到,不过仿真的实际通常是通过cmd接口使用Cmdenv 运行时环境运行。
为了提高仿真准确度,我们需要用不同的随机数运行多次运行相同的仿真。这样的运行称为Repetitions并且在ini文件中加以指定:
repeat = 4
这意味着每个仿真都要被运行4次,每次都有不同的seed。这可以提供更多的样本,使结果更加平均。重复的越多,结果将会越来越变成期望的结果。
④运行parameter study
现在,我们可以运行仿真了。首先通过Run -> Run Configurations进入运行配置对话框。
在Run Configurations对话框中,通过设置User interface选中运行环境为Cmdenv。

如果我们有一个多核CPU,你可以就可以指定可以同时运行的网络模拟数。
(完)
omnet++:官方文档翻译总结(五)的更多相关文章
- Android官方文档翻译 十五 3.3Supporting Different Platform Versions
Supporting Different Platform Versions 支持不同的平台版本 This lesson teaches you to 这节课教给你 Specify Minimum a ...
- omnet++:官方文档翻译总结(三)
翻译总结自:Turning it Into a Real Network - OMNeT++ Technical Articles 接官方文档翻译总结(二),本节主要是真实网络的搭建 Part 4 - ...
- omnet++:官方文档翻译总结(二)
这一部分是官方案例介绍 1.Introduction 学习自:Introduction - OMNeT++ Technical Articles 本教程是基于Tictoc的仿真案例,这些案例我们可以在 ...
- iOS网络基础---iOS-Apple苹果官方文档翻译
CHENYILONG Blog iOS网络基础---iOS-Apple苹果官方文档翻译 iOS网络基础 技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http: ...
- Flume官方文档翻译——Flume 1.7.0 User Guide (unreleased version)中一些知识点
Flume官方文档翻译--Flume 1.7.0 User Guide (unreleased version)(一) Flume官方文档翻译--Flume 1.7.0 User Guide (unr ...
- Flume官方文档翻译——Flume 1.7.0 User Guide (unreleased version)(二)
Flume官方文档翻译--Flume 1.7.0 User Guide (unreleased version)(一) Logging raw data(记录原始数据) Logging the raw ...
- 蓝牙4.0——Android BLE开发官方文档翻译
ble4.0开发整理资料_百度文库 http://wenku.baidu.com/link?url=ZYix8_obOT37JUQyFv-t9Y0Sv7SPCIfmc5QwjW-aifxA8WJ4iW ...
- GreenDao官方文档翻译(上)
笔记摘要: 上一篇博客简单介绍了SQLite和GreenDao的比较,后来说要详细介绍下GreenDao的使用,这里就贴出本人自己根据官网的文档进行翻译的文章,这里将所有的文档分成上下两部分翻译,只为 ...
- Aircrack-ng官方文档翻译[中英对照]---Airdecap-ng
Aircrack-ng官方文档翻译---Airdecap-ng Description[简介] With airdecap-ng you can decrypt WEP/WPA/WPA2 capt ...
- Aircrack-ng官方文档翻译[中英对照]---Airmon-ng
Aircrack-ng官方文档翻译---Airmon-ng Description[简介] This script can be used to enable monitor mode on wire ...
随机推荐
- Python标准库:datetime 时间和日期模块 —— 时间的获取和操作详解
datetime 时间和日期模块 datetime 模块提供了以简单和复杂的方式操作日期和时间的类.虽然支持日期和时间算法,但实现的重点是有效的成员提取以进行输出格式化和操作.该模块还支持可感知时区的 ...
- python办公自动化系列之金蝶K3自动登录(一)
做办公自动化的小伙伴都知道,驱动SAP GUI我们有SAP原生提供的[脚本录制与回放]以及SAP Scripting API可参考:驱动Office Excel等,我们有微软提供的[录制宏]功能:驱动 ...
- Uwl.Admin.Core开源框架(三) 使用RabbitMQ
Uwl.Admin.Core中使用RabbitMQ消息队列: 本文负责讲解RabbitMQ的使用 Uwl.Admin.Core使用的技术有: *.Async和Await 异步编程 *.Reposito ...
- python开发: linux进程打开的文件数
1 #!/usr/bin/env python 2 #-*- coding:utf-8 -*- 3 4 ''' 统计linux打开的文件数 ''' 5 6 import os 7 import sys ...
- div 根据内容自适应内容
转载请注明来源:https://www.cnblogs.com/hookjc/ #header{ MARGIN: 0px; BORDER: 0px; BACKGROUND: #ccd2de; WIDT ...
- Android中四大组件
Activity BroadCast Receiver 广播接收者 Service 服务 Content Provider 内容提供者 四大组件都需要在清单文件里面配置一下
- kali切换桌面环境
感谢大佬:https://blog.csdn.net/tao546377318/article/details/52353018 kali 是基于Debian的发行版,兼容性和软件支持都很好,默认使用 ...
- Apache中commons包的各种jar的功能说明
commons-logging.jar -----记录日志,通常和 log4j.jar共同使用 commons-beanutils.jar(1.1) 主要提供Bean的 ...
- php栈的定义及入栈出栈的实现 算法
转自:php栈的定义及入栈出栈的实现 栈是线性表的一种,他的特点是后入先出,可以这么理解,栈就像一个存东西的盒子,先放进去的在最底层,后放进去的在上层,因为上层的东西把底层的东西压住了,下层的想要出去 ...
- docker基础——1.原理解读
1. 相关内核知识 docker本质上是宿主机上的进程. 通过namespace实现资源隔离,通过cgroups实现资源限制,通过写时复制机制copy-on-write实现高效文件操作. 依赖kern ...