如何生成随机变量并在python中对它们求和

时间:2011-09-04 17:18:47

标签: python random sum

我明确的问题是

Z=sum_(i)^12 (x_i).

其中i是索引,x_i是随机数...

我需要Python中的显式代码来生成12个随机变量并对它们求和。

我尝试使用if,while循环编写代码,但我无法得到它。

我需要你的帮助......

3 个答案:

答案 0 :(得分:0)

import random
rand_sum = sum( random.random() for x in range(12) )

有关详细信息,请参阅random documentation

答案 1 :(得分:0)

为了能够使用任意变量,只需将其构造为一个函数。 您可以将其结构类似于l82Munch,但是从您刚开始以来,这可能对您来说更具可读性。请注意,range是一个生成器函数,它返回一个列表,直到最后一次调用。所以range(1,3)返回[1,2]

import random
def rand_sum(i, j):    
    sum_list = []
    for rand_num in range(i, j+1):
        sum_list.append(random.random()) # Check random docs for a function that returns
    return sum(sum_list)                 # a different set of randoms if this isn't 
                                         # appropriate

答案 2 :(得分:0)

在概率建模中,您可以定义分布然后求和。

我个人使用OpenTURNS平台。

import openturns as ot

x1 = ot.Normal(0, 2)  # Normal distribution mean = 0, std = 2
x2 = ot.Uniform(3, 5) # Uniform distribution between 3 and 5

sum = x1 + x2

就是这样。

如果x1,...,x12是12个分布相同的分布,则可以编写:

sum_12 = sum([x1] * 12)