如何在Python中生成随机变量并求和

1 投票
3 回答
3428 浏览
提问于 2025-04-17 01:25

我的问题很简单:

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

撰写回答