我想在区间 [0,1] 中生成一个随机的实数。我想为数字设置一个指针,比如说n,所以每当我声明时n,它都会被引用到随机生成的数字。
我在 StackOverflow 和 Google 上搜索过,但其中大部分是针对 C++ 或整数的。
我已经尝试过在答案中向我建议的这段代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
double n;
double get_random() { return (double)rand() / (double)RAND_MAX; }
n = get_random();
printf("%f", n);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
但是,我只能得到一个值 0.00000000。
我怎样才能修复我的程序?
我试图找出在 Big Query 的表中为每个组随机抽取 100 条记录的最佳方法是什么。
例如,我有一个表,其中 A 列是唯一的记录 ID,B 列是该记录所属的组 ID。对于每个不同的 groupID,我想随机抽取 100 个记录 ID。有没有简单的方法来完成这个?
我是 Python 的极端初学者,我很难编写非常简单的代码。
我正在尝试编写一个简单的代码,通过使用期望为 1.0 和标准差为 0.005 的函数 gauss 来生成 100 个正态分布数,然后存储在一个数组中,该数组可用于计算这 100 个样本的均值和标准差。
这是我的代码:
def uniformrandom(n):
i=0
while i< n:
gauss(1.0, 0.005)
i = i + 1
return i
Run Code Online (Sandbox Code Playgroud)
然后我试过了
L = uniformrandom(100)
Run Code Online (Sandbox Code Playgroud)
代码应该在 Python 中缩进,但只是当我在 StackOverflow 中输入时,我才真正知道如何缩进它。
假设我使用公式 (x1+x2+...+xn)/100 来获得平均值,我如何存储这些数字并使用公式来获得平均值。
我在 Python 中尝试了代码,但 L 只打印值 n。我的代码有什么问题,我应该如何修复它。
如果有人可以提供一些帮助,将不胜感激。非常感谢!
这是从X行文本中选择随机行的原始问题的扩展,其中所选文本行的概率是1/X. 诀窍是如果查询范围为[0,1)的随机变量Y,则选择第J行,并返回小于1/J的值.
现在在这个问题的新版本中,我们必须选择K小于X的K随机线.我相信每条线的概率应该是K/X.
我坚持如何将原始解决方案扩展到K线.可能吗?任何解释都会很棒.
我正在尝试创建两个相互关联的随机变量,我相信最好的方法是从具有给定参数的二元正态分布中提取(对其他想法开放).不相关的版本看起来像这样:
import numpy as np
sigma = np.random.uniform(.2, .3, 80)
theta = np.random.uniform( 0, .5, 80)
Run Code Online (Sandbox Code Playgroud)
但是,对于80个绘制中的每一个,我希望sigma值与theta值相关.有什么想法吗?
我想生成一个具有固定稀疏性和随机索引和值的矩阵.
为了简化问题,以数组为例:生成一个只有3个非零值位置的arr [10].如果我只是逐个随机选择这3个索引,那么算法的效率就会因为重复而变坏.
更难,我还想生成一个排名为k的随机矩阵,因为空cols和行可能会导致我的代码出错...这次如何制作?
谢谢!
在Ruby中,我需要使用均值来绘制指数分布m.请告诉我如何快速有效地完成它.例如.让我们:
m = 4.2
def exponential_distribution
rand( m * 2 )
end
Run Code Online (Sandbox Code Playgroud)
但是,当然,这段代码是错误的,而且,它只返回整数结果.我今天已经累了,请提示我一个好的解决方案.
我需要在python中模拟超几何分布(用于替换的采样元素的花哨字).
设置:有充满袋人口多的大理石.有两种类型的大理石,红色和绿色(在以下实施中,大理石表示为True和False).从袋子中拉出的弹珠数量是样品.
以下是我为此问题提出的两个实现,但是它们都在人口> 10 ^ 8时开始降级速度
def pull_marbles(sample, population=100):
assert population % 2 == 0
marbles = [x < population / 2 for x in range(0,population)]
chosen = []
for i in range(0,sample):
choice = random.randint(0, population - i - 1)
chosen.append(marbles[choice])
del marbles[choice]
return marbles
Run Code Online (Sandbox Code Playgroud)
此实现非常易读,并且可以清楚地跟踪问题的设置.但是,它必须创建一个大小人口列表,这似乎是瓶颈.
def pull_marbles2(sample, population=100):
assert population % 2 == 0
return random.sample([x < population / 2 for x in range(0, population)], sample)
Run Code Online (Sandbox Code Playgroud)
这个实现使用了random.sample函数,希望能加快速度.不幸的是,它没有解决生成长度人口列表的潜在瓶颈.
编辑:错误地,第一个代码示例返回大理石,这使得这个问题模糊不清.毫无疑问,我希望代码能够返回被"拉动"的红色大理石和绿色大理石的数量.很抱歉这个混乱 - …
我有一个很长的列表,其中包含相当多的重复项,例如100,000个值,其中20%是重复的.我想从这个列表中随机抽样,将所有值分组,比如400个.但是,我不希望任何后续组在其中包含重复值 - 即我希望每个组的所有250个成员都是唯一的.
我尝试过使用素食主义者,picante,EcoSimR的各种排列方法,但是他们没有做我想做的事情,或者似乎对大量数据感到困惑.
我想知道是否有一些方法使用我无法弄清楚的样本函数?任何帮助或替代建议将不胜感激......
在一个战斗计划中,我有一个阵列中的两个玩家:
players = [brad, josh]
Run Code Online (Sandbox Code Playgroud)
我想随机选择两个不同的玩家,其中一个将攻击另一个,示意图如下:
random_player.attack(other_random_player)
Run Code Online (Sandbox Code Playgroud)
我想确保球员永远不会攻击自己.如果我做:
players[rand(0..1)].attack(players[rand(0..1)])
Run Code Online (Sandbox Code Playgroud)
一个玩家有可能会战斗自己.一旦第一个玩家被选中并与阵列中剩余的玩家战斗,我该如何做到这一点?
random-sample ×10
random ×4
python ×3
algorithm ×2
c ×2
c++ ×2
ruby ×2
arrays ×1
distribution ×1
double ×1
loops ×1
numpy ×1
permutation ×1
r ×1
statistics ×1