我需要创建一个nxn矩阵,其中单元中的数字按照高斯分布进行分布。该代码可能无法正常运行,因为它用序列填充了一个单元格。我该怎么办?
mu, sigma = 8, 0.5 # mean and standard deviation
def KHead(nx, ny, mu, sigma):
KH0=np.zeros((nx,ny))
N=1000
for k in range(1,ny-1):
for i in range(0,nx-1):
KH0[(i,k)]= np.random.normal(mu, sigma, N )
return KH0
np.random.normal
采用size
关键字参数。您可以像这样使用它:
KH0 = np.random.normal(mu, sigma, (nx,ny) )
不相关的注释,i
和k
的范围应为range(nx)
和range(ny)
。如果仅给出一个参数,则下限假定为0
,并且包括下限,但排除上限。