如何在Python中生成随机变量并求和
我的问题很简单:
Z=sum_(i)^12 (x_i).
这里的 i 是索引,x_i 是随机数……
我需要一段明确的 Python 代码来生成 12 个随机变量,并把它们加起来。
我尝试过用 if 和 while 循环来写代码,但没有成功。
我需要你们的帮助……
3 个回答
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)
0
import random
rand_sum = sum( random.random() for x in range(12) )
想了解更多信息,可以查看随机数的文档。
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