Weibull cumulative distribution function

`p = wblcdf(x,a,b)`

[p,plo,pup] = wblcdf(x,a,b,pcov,alpha)

[p,plo,pup] = wblcdf(___,'upper')

`p = wblcdf(x,a,b)`

returns the cdf of the
Weibull distribution with scale parameter `a`

and
shape parameter `b`

, at each value in `x`

. `x`

, `a`

,
and `b`

can be vectors, matrices, or multidimensional
arrays that all have the same size. A scalar input is expanded to
a constant array of the same size as the other inputs. The default
values for `a`

and `b`

are both `1`

.
The parameters `a`

and `b`

must
be positive.

`[p,plo,pup] = wblcdf(x,a,b,pcov,alpha)`

returns
confidence bounds for `p`

when the input parameters `a`

and `b`

are
estimates. `pcov`

is the 2-by-2 covariance matrix
of the estimated parameters. `alpha`

has a default
value of 0.05, and specifies 100(1 - `alpha`

)%
confidence bounds. `plo`

and `pup`

are
arrays of the same size as `p`

containing the lower
and upper confidence bounds.

`[p,plo,pup] = wblcdf(___,'upper')`

returns
the complement of the Weibull cdf for each value in `x`

,
using an algorithm that more accurately computes the extreme upper
tail probabilities. You can use `'upper'`

with any
of the previous syntaxes.

The function `wblcdf`

computes confidence
bounds for `p`

using a normal approximation to the
distribution of the estimate

$$\widehat{b}\left(\mathrm{log}x-\mathrm{log}\widehat{a}\right)$$

and then transforms those bounds to the scale of the output `p`

.
The computed bounds give approximately the desired confidence level
when you estimate `mu`

, `sigma`

,
and `pcov`

from large samples, but in smaller samples
other methods of computing the confidence bounds might be more accurate.

The Weibull cdf is

$$p=F\left(x|a,b\right)={\displaystyle {\int}_{0}^{x}b{a}^{-b}{t}^{b-1}{e}^{-{\left(\frac{t}{a}\right)}^{b}}dt}=1-{e}^{-{\left(\frac{x}{a}\right)}^{b}}{I}_{\left(0,\infty \right)}\left(x\right)$$