Python numpy怎么定义一个有关参数u(均值),o(标准差)和随机变量x的正态分布函数?

假设L=[(u1,o1),(u2,o2),...,(un,on)]
如果更进一步,将n个不同的正态分布函数G1,G2,...,Gn相加或相乘,该怎么表示?
最新回答
海心

2024-06-12 00:03:59

使用numpy的random.multivariate_normal函数来实现:
import numpy as np
def get_multi_normal_distribution(L):
# 将列表L转为numpy数组
L = np.array(L)
# 提取均值和标准差
u = L[:, 0]
o = L[:, 1]

# 计算协方差矩阵
cov = np.diag(o**2)

# 生成多元正态分布函数
multi_normal_dist = np.random.multivariate_normal(u, cov)

return multi_normal_dist

L = [(1, 2), (3, 4), (5, 6)]
result = get_multi_normal_distribution(L)
print(result)
盛夏之末

2024-06-12 00:05:57

import numpy as np# 定义正态分布函数def normal_distribution(u, o): return np.random.normal(loc=u, scale=o, size=None)# 测试正态分布函数u = 0o = 1x = normal_distribution(u, o)print("均值为{},标准差为{}的正态分布函数生成的随机数为:{}".format(u, o, x))