exp / expm1 în PHP

Numere și matematică PHP 4+ (expm1: PHP 4.1+)

Calculează e la o putere (exp). expm1 calculează e la putere minus 1, precis pentru valori mici.

Sintaxă
exp(float $num): float

Ce face exp / expm1

exp($x) returnează ex, unde e ≈ 2,71828 (constanta M_E). Este funcția inversă lui log.

expm1(float $num) returnează ex – 1. Pentru x foarte aproape de 0, scăderea exp($x) - 1 pierde precizie, iar expm1 nu.

Parametri

Parametru Descriere
$num Puterea la care se ridică e.

Ce returnează

Rezultatul, ca float.

Exemple

Exemplul 1: exp și log sunt inverse

<?php
var_dump(exp(1));
var_dump(exp(0));
var_dump(log(exp(3)));

Rezultat

float(2.718281828459045)
float(1)
float(3)

Exemplul 2: Precizia lui expm1

<?php
$x = 1e-15;

var_dump(exp($x) - 1);
var_dump(expm1($x));

Rezultat

float(1.1102230246251565E-15)
float(1.0000000000000007E-15)

Exemplul 3: Creștere continuă

1000 de lei la o dobândă anuală de 5%, capitalizată continuu, după 10 ani.

<?php
echo round(1000 * exp(0.05 * 10), 2) . " lei";

Rezultat

1648.72 lei

Greșeli frecvente

  • Confunzi exp(2) cu 2 ** 2. exp ridică mereu numărul e la putere, nu numărul dat.

Comenzi înrudite

  • log / log10 / log1p: Calculează logaritmul natural sau logaritmul într-o bază dată. log10 lucrează în baza 10.
  • pow: Ridică un număr la o putere. Același lucru se scrie mai scurt cu operatorul **.
  • sinh / cosh / tanh și inversele lor: Funcțiile hiperbolice (sinh, cosh, tanh) și inversele lor (asinh, acosh, atanh).