Learn R Programming

cardidates (version 0.4.9)

weibull6: Six-Parametric Weibull Function

Description

Six-parametric Weibull function and its definite integral.

Usage

fweibull6(x, p)

aweibull6(p, lower = 0, upper = 365)

Value

fweibull6 gives the function and aweibull6 its definite integral (cumulative function or area under curve). Note that in contrast to aweibull4, the integral is solved numerically and that the function returns a scalar, not a vector.

Arguments

x

vector of function arguments

p

vector of function parameters with: p[1] determines the offset before increase \(ofs = (p[4]+1) * (1-p[1])\), p[2] inflexion point of increasing branch, p[3] steepness of increasing branch, p[4] offset after the peak, p[5] inflexion point of decreasing branch, p[6] steepness of decreasing branch,

lower

lower limit of the cumulative (integrated) function,

upper

upper limit of the cumulative (integrated) function.

Details

The six-parametric Weibull function is more flexible than the four-parametric version. It is possible to have different offsets before and after the peak. The function can be given by: $$f(x) = p_4 + \exp(-(x/p_5)^{p_6})) (1-p_1 * \exp(-(x/p_2)^{p_3}))$$ for \(x \ge 0\).

See Also

weibull4, fitweibull, CDW, peakwindow, cardidates Vectorize

Examples

Run this code
x <- seq(0, 150)
plot(x, fweibull6(x, c(0.833, 40, 5, 0.2, 80, 5)), type = "l", ylim = c(0,2))

## interpretation of offsets
ofs1 <- 0.1
ofs2 <- 0.3
p1 <- 1-ofs1/(ofs2 + 1)

lines(x, fweibull6(x, c(p1, 20, 5, ofs2, 60, 5)), col = "red")

## definite integratel from zero to 150, returns scalar
aweibull6(c(p1, 20, 5, ofs2, 60, 5), lower = 0, upper = 150)

## use Vectorize to create vectorized functions
vec.aweibull6 <- Vectorize(aweibull6, "upper")
plot(x, vec.aweibull6(c(p1, 20, 5, ofs2, 60, 5), lower = 0, upper = x))

Run the code above in your browser using DataLab