Weibull inverse cumulative distribution function
X = wblinv(P,A,B)
[X,XLO,XUP] = wblinv(P,A,B,PCOV,alpha)
X = wblinv(P,A,B) returns the inverse cumulative distribution function (cdf) for a Weibull distribution with scale parameter A and shape parameter B, evaluated at the values in P. P, 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.
[X,XLO,XUP] = wblinv(P,A,B,PCOV,alpha) returns confidence bounds for X when the input parameters A and B are estimates. PCOV is a 2-by-2 matrix containing the covariance matrix of the estimated parameters. alpha has a default value of 0.05, and specifies 100(1 - alpha)% confidence bounds. XLO and XUP are arrays of the same size as X containing the lower and upper confidence bounds.
The function wblinv computes confidence bounds for X using a normal approximation to the distribution of the estimate
where q is the Pth quantile from a Weibull distribution with scale and shape parameters both equal to 1. 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 inverse of the Weibull cdf is
The lifetimes (in hours) of a batch of light bulbs has a Weibull distribution with parameters a = 200 and b = 6.
Find the median lifetime of the bulbs:
life = wblinv(0.5, 200, 6) life = 188.1486
Generate 100 random values from this distribution, and estimate the 90th percentile (with confidence bounds) from the random sample
x = wblrnd(200,6,100,1); p = wblfit(x) [nlogl,pcov] = wbllike(p,x) [q90,q90lo,q90up] = wblinv(0.9,p(1),p(2),pcov) p = 204.8918 6.3920 nlogl = 496.8915 pcov = 11.3392 0.5233 0.5233 0.2573 q90 = 233.4489 q90lo = 226.0092 q90up = 241.1335