使用 np.random.normal 创建矩阵

Create a matrix with np.random.normal

我需要创建一个 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.zeros((nx, ny))
KH0[1:-1,1:-1] = np.random.normal(mu, sigma, (nx -2, ny - 2))