|
@@ -29,8 +29,11 @@ def calculateDistribution(fy,muTarget,mu,cv,dydp):
|
|
|
qa*=muTarget/A
|
|
|
cvPrime=cv*A/muTarget
|
|
|
sigmaS=numpy.sqrt(numpy.log(1+cvPrime*cvPrime))
|
|
|
- muS=numpy.log(qa/numpy.sqrt(1+cvPrime*cvPrime))
|
|
|
- y=convolveLN.convolveLN(fy,sigmaS,muS)
|
|
|
+ sign=qa>=0
|
|
|
+ muS=numpy.zeros(qa.shape)
|
|
|
+ muS[sign]=numpy.log(qa[sign]/numpy.sqrt(1+cvPrime[sign]*cvPrime[sign]))
|
|
|
+ muS[~sign]=numpy.log(-qa[~sign]/numpy.sqrt(1+cvPrime[~sign]*cvPrime[~sign]))
|
|
|
+ y=convolveLN.convolveLN(fy,sigmaS,muS,sign)
|
|
|
return y/numpy.sum(y)
|
|
|
|
|
|
def generateDistribution(fx,muTarget,mu,cv,dydp, dbg=0):
|