cf_vonMises | R Documentation |
cf_vonMises(t, mu, kappa, coef, niid)
evaluates the characteristic function cf(t)
of Y = sum_{i=1}^N coef_i * X_i
where X_i ~ vonMises(\mu_i,\kappa_i)
inedependent RVs, with the locarion parameters \mu_i
in Real and the rate
parameters \kappa_i > 0
, for i = 1,...,N
.
The characteristic function of the vonMises(\mu,\kappa)
distribution is
cf(t) = cf_vonMises(t,\mu,\kappa) = besseli(t,\kappa)/besseli(0,\kappa) * exp(1i*t*\mu).
cf_vonMises(t, mu = 0, kappa = 1, coef, niid)
t |
numerical values (number, vector...). |
mu |
in |
kappa |
|
coef |
vector of the coefficients of the linear combination
of the IGamma random variables. If coef is scalar, it is assumed
that all coefficients are equal. If empty, default value is |
niid |
scalar convolution coeficient |
The VON MISES distribution is circular distribution on the interval
of length 2*\pi
, here we consider (-\pi,\pi)
, equivalent of the normal
distribution with the real parameter \mu
and rate parameter \kappa > 0
(\mu
and 1/\kappa
are analogous to \mu
and \sigma^2
, the mean and variance
in the normal distribution), on a whole circle, i.e. the interval of angles (-\pi,\pi)
.
Characteristic function cf(t)
of a linear combination
of independent VON MISES random variables.
Ver.: 16-Sep-2018 18:41:05 (consistent with Matlab CharFunTool v1.3.0, 24-Jun-2017 18:25:56).
For more details see WIKIPEDIA: https://en.wikipedia.org/wiki/Von_Mises_distribution.
Other Continuous Probability Distribution:
cfS_Arcsine()
,
cfS_Beta()
,
cfS_Gaussian()
,
cfS_Laplace()
,
cfS_Rectangular()
,
cfS_Student()
,
cfS_TSP()
,
cfS_Trapezoidal()
,
cfS_Triangular()
,
cfS_Wigner()
,
cfX_ChiSquare()
,
cfX_Exponential()
,
cfX_FisherSnedecor()
,
cfX_Gamma()
,
cfX_InverseGamma()
,
cfX_LogNormal()
,
cf_ArcsineSymmetric()
,
cf_BetaNC()
,
cf_BetaSymmetric()
,
cf_Beta()
,
cf_ChiSquare()
,
cf_Exponential()
,
cf_FisherSnedecorNC()
,
cf_FisherSnedecor()
,
cf_Gamma()
,
cf_InverseGamma()
,
cf_Laplace()
,
cf_LogRV_BetaNC()
,
cf_LogRV_Beta()
,
cf_LogRV_ChiSquareNC()
,
cf_LogRV_ChiSquare()
,
cf_LogRV_FisherSnedecorNC()
,
cf_LogRV_FisherSnedecor()
,
cf_LogRV_MeansRatioW()
,
cf_LogRV_MeansRatio()
,
cf_LogRV_WilksLambdaNC()
,
cf_LogRV_WilksLambda()
,
cf_Normal()
,
cf_RectangularSymmetric()
,
cf_Student()
,
cf_TSPSymmetric()
,
cf_TrapezoidalSymmetric()
,
cf_TriangularSymmetric()
## EXAMPLE 1:
# CF of the weighted linear combinantion of the von Mises RVs
mu <- c(0, 0,-pi / 2, pi / 2, 0)
kappa <- c(1, 2, 3, 4, 5)
coef <- c(1, 2, 3, 4, 5) / 15
t <- seq(from = -20,
to = 20,
length.out = 201)
plotReIm(function(t)
cf_vonMises(t,
mu,
kappa,
coef),
t,
title = 'CF of the weighted linear combinantion of the von Mises RVs')
## EXAMPLE2
# CDR/PDF of the weighted linear combinantion of the von Mises RVs
mu <- c(0, 0,-pi / 2, pi / 2, 0)
kappa <- c(1, 2, 3, 4, 5)
coef <- c(1, 2, 3, 4, 5) / 15
t <- seq(from = -20,
to = 20,
length.out = 201)
cf <- function(t) {
cf_vonMises(t, mu, kappa, coef)
}
x <- seq(from = -pi,
to = pi,
length.out = 201)
prob <- c(0.9, 0.95, 0.99)
options <- list()
options$xMin <- -pi
options$xMax <- pi
result <- cf2DistGP(cf, x, prob, options)
result
angle <- result$x
radius <- result$pdf
plotPolar(angle, radius)
# figure; polarplot(angle,radius); ???
# x = gca; ax.ThetaAxisUnits = 'radians'; ???
## EXAMPLE3
# CF of the mixture of the von Mises distribution on (-pi,pi)
mu1 <- 0
kappa1 <- 5
mu2 <- 1
kappa2 <- 15
cf <-
function(t) {
0.25 * cf_vonMises(t, mu1, kappa1) + 0.75 * cf_vonMises(t, mu2, kappa2)
}
options <- list()
options$xMin <- -pi
options$xMax <- pi
result <- cf2DistGP(cf = cf, options = options)
angle <- result$x
radius <- result$pdf
plotPolar(angle, radius)
# figure; polarplot(angle,radius);
# ax = gca; ax.ThetaAxisUnits = 'radians';
## EXAMPLE4
# PDF/CDF of the mixture of the von Mises distribution on (0,2*pi)
mu1 <- 0
kappa1 <- 5
mu2 <- 1
kappa2 <- 15
mu3 <- pi
kappa3 <- 10
cf <-
function(t) {
0.25 * cf_vonMises(t, mu1, kappa1) + 0.25 * cf_vonMises(t, mu2, kappa2) + 0.5 *
cf_vonMises(t, mu3, kappa3)
}
options <- list()
options$isCircular <- TRUE
options$correctedCDF <- TRUE
options$xMin <- 0
options$xMax <- 2 * pi
x <- seq(from = 0,
to = 2 * pi,
length.out = 100)
result <- cf2DistGP(cf = cf, x = x, options = options)
angle <- result$x
radius <- result$pdf
plotPolar(angle, radius)
#figure; polarplot(angle,radius);
#ax = gca; ax.ThetaAxisUnits = 'radians';
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.