首页 > 解决方案 > 尝试编写一个函数,生成 M 个长度为 N 的正态分布样本

问题描述

我正在尝试编写一个函数(rangNM),生成 M 个长度为 N 的正态分布样本,由于某种原因,这会导致第 4 行出现语法错误。有谁知道可能是什么原因造成的?在此先感谢您的帮助。

def rangNM(N, M):
    iseed == 0
    sample = []
    for iseed < M:
       np.random.seed(iseed)
       sample.append(np.random.normal(scale=1, loc=0, size=N))
       iseed += 1
    return(sample)

rangNM(10, 5)

标签: pythonrandomnormal-distribution

解决方案


您应该使用for循环或while循环:

# using for loop
def rangNM(N, M):
    sample = []
    for iseed in range(M):
       np.random.seed(iseed)
       sample.append(np.random.normal(scale=1, loc=0, size=N))
    return(sample)

# using while loop
def rangNM(N, M):
    iseed = 0
    sample = []
    while iseed < M:
       np.random.seed(iseed)
       sample.append(np.random.normal(scale=1, loc=0, size=N))
       iseed += 1
    return(sample)

推荐阅读