- #1
MechatronO
- 30
- 1
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?
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?