当我将高斯噪声添加到数组时,直方图不应该是高斯的吗?虽然噪声是随机的,但分布应该是高斯的吧?那不是我得到的。
A=zeros(10);
A=imnoise(A,'gaussian');
imhist(A)
这就是您的代码正在执行的操作:
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) )
可能会发生两件事:
您没有足够的样本量,或者
具有高斯分布的 imnoise 的默认平均值为 0,这意味着您只能看到钟形曲线的右半部分。
尝试
imhist(imnoise(zeros(1000), 'gaussian', 0.5));
imnoise() 是一个可以应用于图像的函数,而不是普通数组。
也许您可以查看 randn() 函数。
您可能看不到只有 10 个抽样框的钟形曲线。
见中心极限定理。
http://en.wikipedia.org/wiki/Central_limit_theorem
我会尝试将采样框架增加到更大的值。
参考:
大数定律