The following functions return numbers from pseudo-random distributions of the specified shapes and parameters. Except for enoise and gnoise where you have an option to select a random number generator, the remaining noise functions use a Mersenne Twister algorithm for the initial uniform pseudo-random distribution. Note that whenever you need repeatable results you should use SetRandomSeed prior to executing any of the noise functions.
Built-in noise functions and distributions
Noise Function | Distribution |
binomialNoise | Binomial distribution |
enoise | Uniform distribution |
expNoise | Exponential distribution |
gammaNoise | Gamma distribution |
gnoise | Gaussian distribution |
HyperGNoise | Hypergeometric distribution |
logNormalNoise | Lognormal distribution |
poissonNoise | Poisson distribution |
StatsPowerNoise | Power distribution |
StatsVonMisesNoise | Von Mises distribution |
WNoise | Two-parameter Weibull distribution |
You can easily verify that the various noise functions indeed generate the desired distribution. For example, suppose you generated 10000 data points from a Gamma distribution as in:
Histogram/P/B={0,1,100} noiseWave,W_Hist
To fit this to a gamma distribution we write the following user function:
Wave w
Variable x
return x^(w[0]-1)*exp(-x/w[1])/((w[1]^w[0])*Gamma(w[0]))
End
To determine the initial guesses for the fitting coefficients we note that the average of noiseWave is 19.8681. This average should be equal to the product a*b of the two parameters of the gamma distribution. Our guess is therefore a=b=sqrt(19.8)
FuncFit/NTHR=0/TBOX=768 myFit W_coef W_Hist[1,50] /D
The resulting fit to a Gamma distribution is drawn below in blue plotted over the calculated distribution (red).
Forum
Support
Gallery
Igor Pro 9
Learn More
Igor XOP Toolkit
Learn More
Igor NIDAQ Tools MX
Learn More