NS2进阶实例 8---RandomNumber Generation(NS2中随机数产生)

ns2中无线节点创建过程 ns2中无线节点创建原理及过程,涉及部分otcl源码 立即下载

NS2进阶实例 8---RandomNumber Generation(NS2中随机数产生)  

2011-06-19 16:09:00|  分类: NS2学习 |举报 |字号 订阅

网络仿真中有很多场景是需要随机数作为输入或控制时刻的,为此我参考了柯老师资料,学习了NS2中产生随机数的方法,并且给出我的TCL代码,方便大家学习,也方便自己以后查询,可以拿来即用!
     以下只给出产生各种随机数的基本方法,至于实际场景下应该如何设置具体的参数,应该选取何种随机数,以及各种随机数本身的特性,请自行斟酌哦!
     随机数:
     Pareto分布;
     Constant型;
     Uniform分布;
     Exponential分布;
     HyperExponential分布;
     实际上各种分布的使用是一致的,关键还是如何选取,如何设置参数, 这将在今后的博文中给出!
 
    实例8: (RandomTest.tcl)
   

#参考了柯老师的资料
set rng [new RNG]
$rng seed 1   ;#seed 为 1时生成的是伪随机数;为0时,每次执行得到的数据将不一样
set nn 5      ;#设置产生随机数的个数

#Pareto分布
puts "Testing Pareto Distribution"
set r1 [new RandomVariable/Pareto]
$r1 use-rng $rng
$r1 set avg_ 10.0
$r1 set shape_ 1.2
for { set i 1} {$i<=$nn} {incr i} {
    puts [$r1 value]  ;#可以在命令窗口,利用 > 将产生的随机数导入到文件中存下
}

#常数分布
puts "Testing Constant Distribution"
set r2 [new RandomVariable/Constant]
$r2 use-rng $rng
$r2 set avg_ 10.0
for { set i 1} {$i<=$nn} {incr i} {
    puts [$r2 value]  ;#可以在命令窗口,利用 > 将产生的随机数导入到文件中存下
}

#正态分布
puts "Testing Uniform Distribution"
set r3 [new RandomVariable/Uniform]
$r3 use-rng $rng
$r3 set min_ 0.0
$r3 set max_ 10.0
for { set i 1} {$i<=$nn} {incr i} {
    puts [$r3 value]  ;#可以在命令窗口,利用 > 将产生的随机数导入到文件中存下
}

#Exponential分布
puts "Testing Exponential Distribution"
set r4 [new RandomVariable/Exponential]
$r4 use-rng $rng
$r4 set avg_ 5
for { set i 1} {$i<=$nn} {incr i} {
    puts [$r4 value]  ;#可以在命令窗口,利用 > 将产生的随机数导入到文件中存下
}

#Hyperexponential分布
puts "Testing HyperExponential Distribution"
set r5 [new RandomVariable/HyperExponential]
$r5 use-rng $rng
$r5 set avg_ 5
for { set i 1} {$i<=$nn} {incr i} {
    puts [$r5 value]  ;#可以在命令窗口,利用 > 将产生的随机数导入到文件中存下
}

 
实验结果:
  
NS2进阶实例 8---RandomNumber Generation(NS2中随机数产生) - Stupid Bastard - 学习者的博客
 
导入到文件中:
       使用命令:  $ns RandomTest.tcl > RandomTest 即可
NS2网络模拟教学应用实例 NS2网络模拟教学应用实例,里面有一些很有用的实例,包括有线,有线和无线联合仿真等 立即下载

相关推荐

国央企创新负责人如何通过平台实现科研成果的快速识别与转化?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

生成随机数

 --生成位的随机数 select @RandomKDC = right(convert(varchar(20),RAND( (DATEPART(mm, GETDATE()) * 100000 )           + (DATEPART(ss, GETDATE()) * 1000 )           + DATEPART(ms, GETDATE()) )),6)+  right(conve

Sysbor的专栏 1026

PotPlayer自用皮肤

自用 PotPlayer 皮肤,仅微调了字体大小与颜色,是按个人习惯调整,未做适配性调整。

官方 NSIS 插件全集简单介绍

功能简单介绍,那只是本人的理解,仅供参考,实际功能的深入了解自己去看文档。^__^http://nsis.sourceforge.net/archive/nsisweb.php?page=32&instances=0Math plugin (contain examples) -- 数学函数插件,NSIS 软件已包含,这个不用说了吧,计算的时候必用。System plugin (contain e

Brain1977的专栏 2990

汽车电子电气架构

控制器:从多独立 ECU → 域控制器(DCU) → 中央计算平台 + 区域控制器,硬件集成度持续提升,冗余减少;算力:从分散无集中算力 → 按域分配算力 → 全域算力集中,算力量级从 MIPS 跃升至 TOPS,支撑高阶智驾;网络:从低速 CAN/LIN 独占 → 以太网为主、总线为辅 → 高速以太网主干,数据传输速率提升千倍;软硬件:从软硬件深度绑定 → 初步解耦 → 完全解耦(SOA),实现 “硬件预埋、软件解锁”;线束。

LXY_LXY_的博客 1436

VSCode + Copilot下:配置并使用 DeepSeek

以下是关于在中,通过插件配置并使用系列模型 () 的完整汇总指南。

jerwey的博客 1万+

NS2 OTcl/C++分裂模型接口TclCL

OTcl/C++接口TclCL使用C++语言编写,包含六个主要的C++类 (1)   ClassTcl:定义从C++类访问OTcl类的方法 在C++中调用OTcl类的方法,首先需要获得Tcl实例:Tcl& tcl=Tcl::instance()。通过调用tcl实例的eval(char* str),evalc(const char* str)以及evalf(const char* fmt

mars_nudt的专栏 1554

BACnet/IP BBMD跨网段通信深度解析与最佳实践

本文介绍了在BACnet/IP网络中通过BBMD实现跨子网设备通信的关键配置方法。重点阐述了广播分发表(BDT)中掩码设置的重要性:使用子网掩码(255.255.255.0)会导致路由器拦截广播消息,而必须采用主机掩码(255.255.255.255)才能启用单播隧道机制,使BACnet广播消息封装为可路由的单播UDP包。文章详细说明了BDT条目的正确配置格式、BIP广播地址的作用,并提供了验证步骤,强调在跨网段场景中,正确设置掩码是确保设备发现和通信成功的关键因素。

零一架构师的专栏 1536

产生随机数函数

1. System.currentTimeMillis(); 2. Math.random(); 返回一个随机双精度值d, 如:0.0 <= d <= 1.0 一般地,a + Math.random() * b ; 返回 a 到 a+b 之间的随机数,不包括 a+b . 3. 生成任意两个字符 ch1 和 ch2 (ch1 < ch2)之间的随机...

weixin_30594001的博客 110

核密度估计及其Python实践

一、参数估计简介 很多情况下,我们只有有限的样本集,而类条件概率密度函数p(x|ωi)和先验概率P(ωi)是未知的,需要根据已有样本进行参数估计,然后将估计值当作真实值来使用。 由给定样本集求解随机变量的分布密度函数问题是统计机器学习和概率统计学的基本问题之一。解决该问题的方法包括参数估计和非参数估计两大类: 1.参数估计方法 已知概率密度函数的形式而函数的有关参数未知,通过估计参数来估计概率密度函数的方法。有两种主要参数估计法:确定性参数估计方法是把参数看作确定而未知的, 典型方法为最大似然估计。随机参数

袁易学的博客(Yuan Yixue's Blog) 1万+

AquaCrop-OSPy学习笔记02:模型输入设置

AquaCrop-OSPy的输入设置

EWBA_GIS_RS_ER的博客 3693

【转】ns2 随机数

随机数产生器(Random Number Generator) [前言] 随机数产生器在NS2中是非常重要的,举凡网络节点在NAM中的位置或者是应用程序在何时开始传送或结束数据传输,都会用到随机数产生器。因此,在本节中,笔者将介绍如何在NS2中使用随机数产生器。 [种子(seed)和分布(distribution)] 随机数产生器所产生的数值是由种子和分布...

weixin_33850015的博客 269

电机驱动和电源等大电流设计中的并联 MOSFET设计

在电机驱动等应用中,半桥拓扑(通常为 3 相)用于生成在电机中产生正扭矩或负扭矩的交流电源信号。想要更高的输出电流能力,只有通过并联形成每个功能开关的 MOSFET,才能实现高输出电流。当多个功率 MOSFET 并联以增加系统整体电流能力容量时,通常假设电流在并联器件之间均等分配或均等共享。然而,在并联 MOSFET 时,需要考虑并联器件之间的电流分配。PCB 布局的若干特性和特定的MOSFET 参数会影响这种分配,并在参数不匹配或布局不对称时导致均流不平衡。

小幽余生不加糖 2486

NS2学习笔记——随机数产生器

了解如何在网络仿真过程中应用随机数产生器。 1.随机数产生器所产生的数值是由种子和分布所控制的,不同的种子或者是 分布就会产生不同的随机数。当一个种子和分布决定之后,随机数产生器会产生一出一个由一长串不同数字所组成的表格,当需要一个 随机数时,随机数产生器就会去选取这个表格中的一个数字,当需要另一个随机数时,随机数产生器就会去选取这个表格中第二个数字,依此类推。所以当使用种子 和分布相同时,

梦之境 1018

OpenHarmony AI系列:神经网络处理单元(NPU)驱动架构与实现详解

NPU(Neural Processing Unit,神经网络处理单元)是专门为神经网络计算设计的硬件加速器。在OpenHarmony系统中,NPU驱动是通过NNRT(Neural Network Runtime,神经网络运行时)框架实现的,它作为中间桥梁连接上层AI推理框架和底层NPU硬件,实现AI模型的跨芯片推理计算。

m0_67505153的博客 665

LLaMA Factory多卡微调的实战教程(持续更新)

本文主要介绍了LLaMA Factory多卡微调的实战教程(持续更新),希望对学习大语言模型的同学们有所帮助。 文章目录 1. 前言 2. 配置环境 2.1 安装虚拟环境 2.2 安装依赖库 2.3 模型选型与下载 2.4 配置多卡环境 3. 运行代码 3.1 构建训练数据 3.2 修改配置文件 3.3 微调 3.3.1 zero3微调 3.3.2 启动API 3.3.3 模型测试

herosunly的博客 25万+

NS2中的随机数产生器

ns2, 随机数生成器

一心两用 1903

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

如何在ns2里产生随机数字

使用方法 set r1 [new RandomVariable/Pareto]$r1 set avg_ 10.0$r1 set shape_ 1.2 puts stdout "[$r1 value ]" 通过value就可以得到随机数。 然后是要修改随机seed种子,就要在tcl开始预定义部分加入 set val(seed) 0.0 下面是一些随机分布的设定: 1、均匀分布 Ra

梦之境 1280

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

tcl中如何产生随机数

[前言]         亂數產生器在NS2中是非常重要的,舉凡網路節點在NAM中的位置或者是應用程式在何時開始傳送或結束資料傳輸,都會用到亂數產生器。因此,在本節中,筆者將介紹如何在NS2中使用亂數產生器。   [種子(seed)和分佈(distribution)]         亂 數產生器所產生的數值是由種子和分佈所控制的,不同的種子或者是分佈就會產生出不同的亂數。我們可以這樣思考...

hyw520110的专栏 1960

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

随机数产生器(random number generator)

随机数产生器 随机数一般分为真正的随机和伪随机(pseudorandom number generator (PRNG))。真正的随机则是不可预测;伪随机则依靠随机数种子和随机算法,是可能被预测的。 只依靠计算机程序,不依赖硬件和外部噪音能否产生真正的随机? 个人分析: 不可能。原因如下:种子是可选择的,产生序列的算法代码也是固定的,那么这个序列则是可以预测,即使引入“时间”这种动态的变量

iterate7的博客 2万+

randomNumber随机数+时间的更新

通过数学数字的随机数,结合时间转换为字符串和随机数并为一串数字。 可以自动加载或点击获取 Js代码: $(function () {//自动加载 function anna(){//通过按钮的点击事件触发 var date = new Date();//获取当前时间 document.getElementById("").value = "HLC" + new Date().t...

weixin_44570988的博客 5196

加注释的ns2-AODV源代码

/*ns2 中aodv.cc的源代码,并加了一定的注解,便于理解和查阅。*/ 25.  //#include    26.  #include    27.  #include    28.  #include    29.  #include    30.  //#include    31.  #define max(a,b)        ( (a) > (b) ? (a) :

遇见-懵懂未央 2022

C++ - 随机数生成器(random-number generator) 的 详解 及 代码

随机数生成器(random-number generator) 的 详解 及 代码 本文地址:http://blog.youkuaiyun.com/caroline_wendy/article/details/17322165 随机数, C语言的函数是rand(), C++则是随机数生成器(random-number generator) = 分布对象(distri...

weixin_34284188的博客 1188

NS2 流生成器cbrgen

^^cbrgen  cbrgen工具:用来产生CBR流或TCP流  注意:默认时间长度为180s   要改就要修改cbrgen.tcl文件  cbrgen程序放在 urs/local/ns2/ns-2.34/indep-utils/cmu-scen-gen/目录下,执行命令  ns cbrgen.tcl -type cbr -nn4 -seed 1 -mc 5 -rate 1.0 > cb

God 的专栏 4522
上一篇: ns2_相关资料大全
下一篇: NS2脚本中如何使用God
天使之梦魇
博客等级 码龄18年 26粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值