0

当我将高斯噪声添加到数组时,直方图不应该是高斯的吗?虽然噪声是随机的,但分布应该是高斯的吧?那不是我得到的。

A=zeros(10);
A=imnoise(A,'gaussian');
imhist(A)
4

4 回答 4

1

这就是您的代码正在执行的操作:

A = zeros(10);

mu = 0; sd = 0.1;                 %# mean, std dev
B = A + randn(size(A))*sd + mu;   %# add gaussian noise

B = max(0,min(B,1));              %# make sure that 0 <= B <= 1

imhist(B)                         %# intensities histogram

你能看出问题出在哪里吗?(提示:RANDN 返回 number ~N(0,1),因此添加的噪声为~N(mu,sd)


也许您正在尝试做的是:

hist( randn(1000,1) )

直方图

于 2010-07-26T00:06:17.390 回答
1

可能会发生两件事:

  1. 您没有足够的样本量,或者

  2. 具有高斯分布的 imnoise 的默认平均值为 0,这意味着您只能看到钟形曲线的右半部分。

尝试

imhist(imnoise(zeros(1000), 'gaussian', 0.5));
于 2010-07-25T23:23:33.267 回答
0

imnoise() 是一个可以应用于图像的函数,而不是普通数组。
也许您可以查看 randn() 函数。

于 2010-07-25T22:36:25.680 回答
0

您可能看不到只有 10 个抽样框的钟形曲线。

见中心极限定理。

http://en.wikipedia.org/wiki/Central_limit_theorem

我会尝试将采样框架增加到更大的值。


参考

大数定律

http://en.wikipedia.org/wiki/Law_of_large_numbers

于 2010-07-25T23:12:54.057 回答