2010-07-25 37 views
0

Lorsque j'ajoute du bruit gaussien à un tableau, l'histogramme ne doit-il pas être gaussien? Bien que le bruit soit aléatoire, la distribution devrait être gaussienne? Ce n'est pas ce que j'ai.Génération de bruit aléatoire dans matlab

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

Répondre

0

imnoise() est une fonction qui peut être appliquée à images, pas de tableaux simples.
Peut-être que vous pouvez regarder dans la fonction randn(), à la place.

1

Deux choses pourraient se passer:

  1. Vous n'avez pas assez d'un taille de l'échantillon, ouLa moyenne par défaut d'imnoise avec une distribution gaussienne est 0, ce qui signifie que vous ne voyez que la moitié droite de la courbe en cloche.

Essayez

imhist(imnoise(zeros(1000), 'gaussian', 0.5)); 
1

C'est ce que votre code est en train de faire:

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 

peut vous voir où est le problème? (Indice: randn retourne le nombre ~N(0,1), donc le bruit ajouté résultant est ~N(mu,sd))


Peut-être ce que vous essayez de faire est:

hist(randn(1000,1)) 

histogram