我正在尝试使用lognormal.inv
function of java script jstat library作为我的两个值的下界和上限,在MS excel中实现[lognormal.inv()][1]
。对于相同的值,我在excel和jstat输出中得到的结果不同。我正在使用的jstat函数正确吗?
Excel公式-= LOGNORM.INV(0.56,(LN(400000)+ LN(2500000))/ 2,(LN(400000)-LN(2500000))/ 3.29) 结果-10,87,729
使用jStat实现Java脚本
function logInvJstat( probability , lowerBound, upperBound){
let bound_array = [lowerBound,upperBound]
let bound_array_log = jStat.log(bound_array)
let round_bound = jStat.map( bound_array_log, function( x ) {
return Math.round(x);
});
deviation = (round_bound[1]-round_bound[2])/3.29
console.log(round_bound)
let mean = jStat.mean(round_bound)
let std = jStat.stdev(round_bound)
console.log(mean)
console.log(std)
console.log(jStat.lognormal.inv(probability , mean, std ))
}
logInvJstat(.56,400000,2500000);
上述函数的结果与1398581.708的值相同。 为什么这与excel结果10,87,729不匹配?