PHPのexpm1()関数とは?構文・パラメータ・使用例をわかりやすく解説
PHPのexpm1()関数は、自然対数の底 e のべき乗から1を引いた値、すなわち以下の計算結果を返します。
ex − 1
expm1()関数とは
expm1()は「exponential minus one」の略で、ex − 1 を高精度に計算するための数学関数です。通常の exp($x) - 1 という計算では、$x が0に近い小さな値の場合に浮動小数点数の精度不足により誤差が生じますが、expm1()を使えばそのような場合でも正確な結果が得られます。
構文
expm1(val)
パラメータ
val − べき乗の指数となる数値を指定します。
戻り値
expm1()関数は、eval − 1 の計算結果をfloat型(浮動小数点数)で返します。
使用例
まずは基本的な使い方を見てみましょう。
<?php
echo(expm1(0) . "<br>" );
echo(expm1(1));
?>
出力結果
0<br>1.718281828459
e0 − 1 = 0、e1 − 1 ≒ 1.718281828459 となることが確認できます。
次に、変数を使った別の例です。
使用例2
<?php
$val = 1;
echo "e^", $val, "-1 = ", expm1($val);
?>
出力結果
e^1-1 = 1.718281828459
まとめ
expm1()関数は、ex − 1 を精度よく求めたい場合に便利な関数です。特に金融計算や科学技術計算など、微小な指数値を扱う場面では、単純に exp($x) - 1 と書くよりも高い精度が得られるため、積極的に活用しましょう。
-
PHPのlog()関数とは?自然対数の計算方法と使い方を解説
定義と使い方log() 関数は、数値の自然対数(natural logarithm)を計算します。対数とは、指数関数の逆演算のことです。たとえば 102=100 という関係は「log10100=2」と表せます。自然対数はオイラー数 e を底として計算され、PHP では定義済み定数 M_E によって e の値(2.7182818284590452354)が提供されています。具体例を挙げると、exp(4.60517018599)=100(つまり e4.60517018599=100)が成り立つため、loge100=4.60517018599 となります。PHP では、この自然対数(loge)を l
-
PHPのexpm1()関数とは?構文・パラメータ・使い方を実例付きで解説
定義と用途 expm1()関数は、「exp(引数) - 1」の計算結果を返す数学関数です。この関数の大きな特徴は、引数の値がゼロに近い場合でも高い精度で計算できるという点にあります。通常の式「exp(x) - 1」では、ほぼ等しい2つの数値同士の減算が行われるため、桁落ちによって誤差が生じやすくなります。しかし、expm1()関数を使えば、そのようなケースでも正確な結果を得ることができます。 数式で表すと次のようになります。 expm1(x) = ex − 1 この関数は、float型(浮動小数点数)の値を返します。 構文 expm1(float $arg) : float パラメータ