RandomState.vonmises(mu,kappa,size=None)¶Draw samples from a von Mises distribution.
Samples are drawn from a von Mises distribution with specified mode(mu) and dispersion (kappa), on the interval [-pi, pi].
The von Mises distribution (also known as the circular normaldistribution) is a continuous probability distribution on the unitcircle. It may be thought of as the circular analogue of the normaldistribution.
| Parameters: | mu : float or array_like of floats
kappa : float or array_like of floats
size : int or tuple of ints, optional
|
|---|---|
| Returns: | out : ndarray or scalar
|
See also
scipy.stats.vonmisesNotes
The probability density for the von Mises distribution is

where
is the mode and
the dispersion,and
is the modified Bessel function of order 0.
The von Mises is named for Richard Edler von Mises, who was born inAustria-Hungary, in what is now the Ukraine. He fled to the UnitedStates in 1939 and became a professor at Harvard. He worked inprobability theory, aerodynamics, fluid mechanics, and philosophy ofscience.
References
| [R204] | Abramowitz, M. and Stegun, I. A. (Eds.). “Handbook ofMathematical Functions with Formulas, Graphs, and MathematicalTables, 9th printing,” New York: Dover, 1972. |
| [R205] | von Mises, R., “Mathematical Theory of Probabilityand Statistics”, New York: Academic Press, 1964. |
Examples
Draw samples from the distribution:
>>>mu,kappa=0.0,4.0# mean and dispersion>>>s=np.random.vonmises(mu,kappa,1000)
Display the histogram of the samples, along withthe probability density function:
>>>importmatplotlib.pyplotasplt>>>fromscipy.specialimporti0>>>plt.hist(s,50,normed=True)>>>x=np.linspace(-np.pi,np.pi,num=51)>>>y=np.exp(kappa*np.cos(x-mu))/(2*np.pi*i0(kappa))>>>plt.plot(x,y,linewidth=2,color='r')>>>plt.show()