草庐IT

伪随机码

全部标签

分布式计算实验4 随机信号分析系统

一、实验要求利用MOM消息队列技术实现一个分布式随机信号分析系统,具体要求:1.随机信号产生器微服务每隔100毫秒左右就产生一个正态分布的随机数字,并作为一个消息发布。2.一个随机信号统计分析微服务,对信号进行如下分析:  (1)计算过去N个随机信号的均值和方差(N为常量,可设置);  (2)计算所有历史数据中的最大值和最小值;  (3)定时地将分析结果打包成一个新消息并通过MOM发布出去。3.一个实时数据显示微服务:  (1)实时绘制过去一段时间内随机信号的折线图;  (2)实时显示随机信号统计分析结果。二、设计说明1.面向消息的中间件MOM  MOM(MessageOrientedMidd

c++ - 在哪里初始化随机种子以通过多个随机模块使用?

所以,每次我开发一些大的东西,将多个模块组合在一起构建最终功能时,我一直在想同一个问题:如果超过1个模块需要使用随机函数,在哪里初始化随机种子?如果我有一个需要随机的类(例如,类通过使用self实现的快速排序对输入数组进行排序来初始化自身,所以我需要一个随机数来选择主元),我通常有一个私有(private)的staticboolisRandOn;变量,所以在我开始选择随机基准之前,我会检查该变量并执行srand(time(NULL));如果随机尚未打开。如果我在一个命名空间中有大量的实用函数,我会做一件非常相似的事情:我将这样一个变量放在我的utils库中的一个匿名命名空间中,并或多或

c++ - 带有双端队列的随机访问迭代器的无效迭代器

我正在阅读ScottMeyers的有效STL。在项目1中,作者提到了如何在各种容器中进行选择,下面是我难以理解的文本片段。Woulditbehelpfultohaveasequencecontainerwithrandomaccessiteratorswherepointersandreferencestothedataarenotinvalidatedaslongasnothingiserasedandinsertionstakeplaceonlyattheendsofthecontainer?Thisisaveryspecialcase,butifit’syourcase,dequ

c++ - Windows XP(32 位,SP3)播放声音时随机应用程序暂停半秒

我注意到当Windows在(至少我的)多核机器(不是在虚拟机中)上播放声音时,不同程序的执行有时会延迟半秒。我测试了3种不同的计算机硬件配置。我还编写了一个小型C++测试应用程序来重现此问题。它只是计算内存中几兆字节的废话并输出为此花费的时间。这是在循环中完成的,因此您可以不断获得输出。我将这个测试程序(包括自编译的源代码,例如来自MinGW的GCC4.7.2,如果你担心可执行文件中的恶意软件)上传到这里:http://daiw.de/share/PrintCalculationTimes.zip在以下屏幕截图中,您可以看到在程序执行时播放声音(通过控制面板中的声音设置)时发生的情况:

c++ - 在 C++ 中实现随机 oracle(输出在范围内是随机的,但相同输入的输出相同)

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎与helpcenter中定义的范围内的编程无关。.关闭9年前。Improvethisquestion我希望实现randomoracle在C++中。本质上,只是一个函数f:{1,...,n}->[0,1],因此对于{1,...,n}中的每个输入i,输出f(i)是随机的[0,1]中的值。但重要的是,每次调用f(i)都应该返回相同的值。换句话说,我想要一个非常大的表f,其中包含[0,1]中由整数索引的独立同分布的随机变量。当然,我不想预先计算表格并存储它。相反,我希望即时实现此表。您输入i,然后

c++ - (0,2)之间均匀分布的随机数

这个问题在这里已经有了答案:Randomfloatnumbergeneration(14个答案)关闭8年前。我想在(0,2)之间生成随机数。我正在使用以下代码:doublefRand(doublefMin,doublefMax){doublef=(double)rand()/RAND_MAX;returnfMin+f*(fMax-fMin);}和设置:fMin=0;fMax=2;但我没有得到均匀分布的数字。我在循环中调用这个函数。它生成随机数,但几乎所有的数字都只落在两个区域,分布不均。如何确保数字均匀分布?

C++ - 在范围内生成遵循正态分布的随机数

我需要生成服从正态分布的随机数,该分布应位于1000和11000的区间内,平均值为7000。我想使用c++11libraryfunction但我不明白如何在间隔内生成数字。有人可以帮忙吗? 最佳答案 您没有指定标准偏差。假设给定间隔的标准偏差为2000,您可以尝试这样做:#include#includeclassGenerator{std::default_random_enginegenerator;std::normal_distributiondistribution;doublemin;doublemax;public:Ge

c++ - 保证值序列所有可能排列的伪随机分布 - C++

随机问题。我正在尝试创建一个程序来生成伪随机分布。我正试图找到适合我需要的伪随机算法。这些是我的担忧:1)我需要一个输入来在每次使用时生成相同的输出。2)它需要足够随机,以至于查看输入1的输出的人看不到输入1的输出与输入2的输出之间没有任何联系(等等),但不需要密码安全或真正随机。3)它的输出应该是一个介于0和(29^3200)-1之间的数字,该范围内的每个可能的整数都是一个可能的且同样(或接近)可能的输出。4)我希望能够保证410个输出序列的每个可能排列也是连续输入的潜在输出。换句话说,0到(29^3200)-1之间的410个整数的所有可能分组应该是顺序输入的潜在输出。5)我希望该函

c++ - 有放回的随机抽样

我这里画个空:C++(不使用boost)怎么用replacement采样,但是std::的所有成员都ok。我的意思是方法是什么(或者函数,如果我们可以扭曲std::的成员来做到这一点)。为了提供一些上下文,我想从ndouble组Data[n]中采样(替换)k元素。 最佳答案 给定一个函数random_num_in_range(稍后会详细介绍),推出您自己的采样器应该不难://Samplesrandomlyfrom(b,e)intoo,nelementstemplatevoidsample(Itb,Ite,OutIto,size_tn

C++ 随机访问迭代器超出范围

为了同时对两个范围进行分区或排序(与std::partition或std::sort仅对一个范围相反),同时仅考虑元素在比较第一个范围时,我创建了一个模板随机访问迭代器DualRandIt包装两个随机访问迭代器。#include//RandomAccessIteratorwrappingtwoRandomAccessIteratorstemplatestructDualRandIt{usingdifference_type=typenamestd::iterator>::difference_type;DualRandIt(RandIt1it1,RandIt2it2):it1(it1)