在python中使用numpy按列生成正常噪声

kxe2p93d  于 2023-10-19  发布在  Python
关注(0)|答案(1)|浏览(104)

我有一个矩阵A,其中信号沿着列包含,我想生成一个噪声矩阵,其中每个列包含高斯正态噪声(均值= 0,标准差= 1)。

逻辑代码错误:

我可以像下面这样做,但在这种情况下,条件mean = 0对整个矩阵都是真的,而不仅仅是列。

import numpy as np

A = np.array([[1, 2, 3],
            [4, 5, 6],
            [7, 8, 9]]
            )

# Generate Gaussian noise with mean 0 and std deviation 1
noise = np.random.normal(0, 1, size=A.shape)

**PS:**需要进行性能优化(避免for循环)

tvz2xvvm

tvz2xvvm1#

这是一种强制每列的平均值为0,并且它们的std为1的方法:

noise = (noise - noise.mean(axis=1, keepdims=True)) / noise.std(axis=1, keepdims=True)

整个矩阵的平均值和标准差为(1,0)fyi:平均值相加和独立列之间方差相加。

相关问题