1p代表1加。 log1p ()函数计算一个1+数目的天然(基-E)的对数。
log1p(x)= log(1 + x)。
log1p的计算方式使得即使对于非常小的x,其值也是准确的,使得1 + x几乎等于x
log1p ( float $arg ) : float
序号 | 参数及说明 |
---|---|
1 | arg 要计算其1p对数的数字 |
PHP log1p()函数返回arg + 1的base-1p对数。
此功能在PHP 4.x,PHP 5.x和PHP 7.x中可用。
以下示例计算log1p为100
<?php $arg=100; echo "using log() to calculate log(1+". $arg.")=" . log(1+$arg) . "\n"; echo "log1p(" . $arg . ")=" . log1p($arg); ?>
输出结果
这将产生以下结果-
using log() to calculate log(1+100)=4.6151205168413 log1p(100)=4.6151205168413
普通log返回-infinity,log1p返回0-
<?php $arg=0; echo "log(" . $arg . ")=" . log($arg) . "\n"; echo "log1p(" . $arg . ")=" . log1p($arg); ?>
输出结果
这将产生以下结果-
log(0)=-INF log1p(0)=0
对于非常小的数字,log1p()更精确-
<?php $arg=0.000005; echo "log(" . $arg . ")=" . log($arg) . "\n"; echo "log1p(" . $arg . ")=" . log1p($arg); ?>
输出结果
这将产生以下结果-
log(5.0E-6)=-12.20607264553 log1p(5.0E-6)=4.9999875000744E-6
同样,sqrt(-1)会导致NAN。因此,它的log1p()也返回NAN-
<?php $arg=sqrt(-1); echo "log(" . $arg . ")=" . log($arg) . "\n"; echo "log1p(" . $arg . ")=" . log1p($arg); ?>
输出结果
这将产生以下结果-
log(NAN)=NAN log1p(NAN)=NAN