PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのexpm1()関数とは?構文・パラメータ・使い方を実例付きで解説

定義と用途

expm1()関数は、「exp(引数) - 1」の計算結果を返す数学関数です。この関数の大きな特徴は、引数の値がゼロに近い場合でも高い精度で計算できるという点にあります。通常の式「exp(x) - 1」では、ほぼ等しい2つの数値同士の減算が行われるため、桁落ちによって誤差が生じやすくなります。しかし、expm1()関数を使えば、そのようなケースでも正確な結果を得ることができます。

数式で表すと次のようになります。

expm1(x) = ex − 1

この関数は、float型(浮動小数点数)の値を返します。

構文

expm1(float $arg) : float

パラメータ

番号パラメータと説明
1 arg
expm1値を計算したい対象となる浮動小数点数を指定します。

戻り値

PHPのexpm1()関数は、計算結果を浮動小数点型の値として返します。

対応するPHPバージョン

この関数は、PHP 4.x、PHP 5.x、PHP 7.xの各バージョンで利用可能です。

使用例

例1:expm1(2)と「exp(2) - 1」の比較

次の例では、expm1(2)の戻り値を「exp(2) - 1」の計算結果と照らし合わせています。

<?php
    echo "expm1(2) = " . expm1(2) . "\n";
    echo "exp(2)-1 = " . (exp(2)-1);
?>

実行すると、次のような結果が出力されます。

expm1(2) = 6.3890560989307
exp(2)-1 = 6.3890560989307

例2:引数に0を指定した場合

次の例では、expm1(0)の値を取得しています。e0は1なので、戻り値は0になります。

<?php
    echo "expm1(0) = " . expm1(0) . "\n";
?>

実行結果:

expm1(0) = 0

例3:引数に負の値を指定した場合

次の例では、expm1(-1)の値を求めています。

<?php
    echo "expm1(-1) = " . expm1(-1) . "\n";
?>

実行結果:

expm1(-1) = -0.63212055882856

例4:引数に1を指定した場合

次の例では、expm1(1)の値を取得しています。ネイピア数eから1を引いた値に相当します。

<?php
    echo "expm1(1) = " . expm1(1) . "\n";
?>

実行結果:

expm1(1) = 1.718281828459

まとめ

expm1()関数は、一見すると「exp(x) - 1」を単純に置き換えるだけの関数に見えますが、特に微小な引数に対して指数計算を行う際には、桁落ちによる誤差を防ぐために非常に有用です。金融計算や科学技術計算など、高精度が求められる場面で活用してみてください。

  1. PHPのexpm1()関数とは?構文・パラメータ・使い方を実例付きで解説

    定義と用途 expm1()関数は、「exp(引数) - 1」の計算結果を返す数学関数です。この関数の大きな特徴は、引数の値がゼロに近い場合でも高い精度で計算できるという点にあります。通常の式「exp(x) - 1」では、ほぼ等しい2つの数値同士の減算が行われるため、桁落ちによって誤差が生じやすくなります。しかし、expm1()関数を使えば、そのようなケースでも正確な結果を得ることができます。 数式で表すと次のようになります。 expm1(x) = ex − 1 この関数は、float型(浮動小数点数)の値を返します。 構文 expm1(float $arg) : float パラメータ

  2. PHPのexpm1()関数とは?構文・パラメータ・使用例をわかりやすく解説

    PHPのexpm1()関数は、自然対数の底 e のべき乗から1を引いた値、すなわち以下の計算結果を返します。ex − 1expm1()関数とはexpm1()は「exponential minus one」の略で、ex − 1 を高精度に計算するための数学関数です。通常の exp($x) - 1 という計算では、$x が0に近い小さな値の場合に浮動小数点数の精度不足により誤差が生じますが、expm1()を使えばそのような場合でも正確な結果が得られます。構文expm1(val)パラメータval − べき乗の指数となる数値を指定します。戻り値expm1()関数は、eval − 1 の計算結果をflo