Say we want a set of random values that are distributed according to some distribution function f(x). A common way to accomplish that is to find the cumulative distribution function F(x) for the distribution and then solve for x according to F(x) = Y x = F'(Y) Then x will be distributed with the original distribution function, if F'(Y) is fed with random values Y ranging from 0-1. I'm currently trying to do that with a weibull distribution f(x) = a*b*xb-1*e-a*b*x^b where F(x) should be F(x) = e-a - e-a*x^b when solving for x in F(x) I however get x = ( - ln(e-a - Y)/a)1/b When Y> e-a there are no real solutions. Is there a way to get around this? Have I done something wrong?