NS3生成随机数

ns3可以产生随机数。
先把代码和运行结果展示一下:

#include "ns3/core-module.h"
#include "ns3/random-variable-stream.h"
#include <iostream>
#include "ns3/ptr.h"
#include "ns3/double.h"
#include "ns3/rng-seed-manager.h"

using namespace std;
using namespace ns3;

int main(int argc, char *argv[])
{
        uint32_t rng=1;//自定义一个变量  
        CommandLine cmd;
        cmd.AddValue("rng","Number of rng",rng);
        cmd.Parse(argc,argv);//必须在前三行之后 
        RngSeedManager::SetSeed (1); // Changes seed from default of 1 to 3
        RngSeedManager::SetRun (rng);

        Ptr<UniformRandomVariable> x = CreateObject<UniformRandomVariable> ();
        x->SetAttribute ("Min", DoubleValue (0.0));
        x->SetAttribute ("Max", DoubleValue (10.0));

        double value = x->GetValue ();
        cout <<"value:"<<value<< endl;

        cout<<"randint:"<<x->GetInteger ()<<endl;
        return 0;
}

这里写图片描述

代码讲解:
(1)参数讲解:
RngSeedManager::SetSeed (1);
RngSeedManager::SetRun (rng);
分别设置了随机数种子和运行次数。通常产生随机数的方法是:固定随机种子,改变运行次数。


(2)类UniformRandomVariable讲解:
这个类从RandomVariableStream继承,我们可以看一下这个基类的方法。
这里写图片描述


看一下这个类的public函数:
这里写图片描述
子类可以用父类的public函数,然后我们就可以得到随机数了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值