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 ...
随机推荐
- HTML(前端web)
目录 一:HTML前端 1.什么是前端? 2.什么是后端? 3.什么是HTML? 4.HTML不是什么? 5.前端的学习流程 6.BS架构 7.搭建服务器 简易(浏览器访问) 8.浏览器访问报错原因 ...
- 使用Hot Chocolate和.NET 6构建GraphQL应用(4) —— 实现Query映射功能
系列导航 使用Hot Chocolate和.NET 6构建GraphQL应用文章索引 需求 在上一篇文章使用Hot Chocolate和.NET 6构建GraphQL应用(3) -- 实现Query基 ...
- 学习Java第14天
今天成功安装了MySQL Visual Studio Code 准备试着学习HTML+CSS了 明天开始认识HTML和CSS学会软件的使用 今天安装调试这些东西属实费了点劲,可能电脑配置较低吧,还有点 ...
- [JavaWeb]Log4j的前因后果
Log4j的前因后果 简介 Log4j的进化史 Log4J的三大组件: Logger:日志记录器,负责收集处理日志记录 (如何处理日志) Appender:日志输出目的地,负责日志的输出 (输出到什么 ...
- plsql 视图中 为什么使用替代触发器
/* 什么是视图? 视图:数据库对象,存的是一个查询命令:当作一个虚拟的数据表来使用: 应用场景: 简化查询操作:不能直接在视图上进行create,insert,update操作: 创建视图? 需要管 ...
- FreeSWITCH 1.10.7 编译(debian 11)
1.安装预备库 apt install -y build-essential gdb gnupg2 wget autoconf lsb-release libtool libtool-bin libt ...
- CF Round #687 Div2 简要题解
题面 A 可以发现,最远的几个人一定是 \((1, 1), (1, m), (n, 1), (n, m)\) 中的一个,直接计算即可. B 注意到颜色数量很少,直接暴力枚举最终的颜色后模拟即可. C ...
- Spring中NESTED和REQUIRED_NEW传播行为的区别
简介 PROPAGATION_REQUIRED_NEW: 表示当前方法必须运行在它自己的事务中.一个新的事务将被启动.如果存在当前事务,在该方法执行期间,当前事务会被挂起.如果使用JTATransac ...
- NoSuchMethodError错误
发生原因: 一个项目中包含有相同名字,但内容不同的包 解决办法:删除其中暂时不用的包 后记:如果不知道哪一个包是多余的,直接用IDE查找:找到该类,然后将该包进行反编译,再次导入该项目,再找到该类,出 ...
- IntelliJ IDEA 学习笔记 - 修改编码
感谢原文作者:codeke 原文链接:https://blog.csdn.net/cgl125167016/article/details/78666432 仓库:https://github.com ...