exp în Dart

exp(x) calculează e la puterea x, iar log(x) este logaritmul natural (în baza e), inversa lui exp.

Sintaxă
import 'dart:math';

double exp(num x)
double log(num x)

Ce face exp

exp(x) returnează ex, unde e ≈ 2,718 este constanta lui Euler (e din dart:math). Apare la creșteri și scăderi continue: dobândă continuă, răcirea unui corp, înmulțirea bacteriilor.

log(x) este logaritmul natural (ln), nu cel în baza 10. Pentru alt logaritm împarți: log(x) / ln10 dă logaritmul zecimal, log(x) / ln2 logaritmul în baza 2. Pentru x = 0 rezultatul este -Infinity, iar pentru x negativ este NaN.

Parametri

Parametru Descriere
x Exponentul (la exp) sau numărul pozitiv al cărui logaritm se calculează (la log).

Ce returnează

Un double.

Exemple

Exemplul 1: exp și log sunt inverse

import 'dart:math';

void main() {
  print(exp(0));
  print(exp(1));
  print(log(e));
  print(log(exp(3)));
  print(log(1000) / ln10);
  print(log(0));
  print(log(-1));
}

Rezultat

1.0
2.718281828459045
1.0
3.0
2.9999999999999996
-Infinity
NaN

Exemplul 2: În câți ani se dublează economiile?

Cu dobândă anuală r, numărul de ani pentru dublare este log(2) / log(1 + r).

import 'dart:math';

void main() {
  for (final procent in [3, 5, 8]) {
    final r = procent / 100;
    final ani = log(2) / log(1 + r);
    print('La $procent% pe an: ${ani.toStringAsFixed(1)} ani');
  }
}

Rezultat

La 3% pe an: 23.4 ani
La 5% pe an: 14.2 ani
La 8% pe an: 9.0 ani

Greșeli frecvente

  • Folosești log crezând că este în baza 10. log(100) dă 4.605…, nu 2. Împarte la ln10.
  • Calculezi log dintr-un număr care poate fi 0 sau negativ și nu verifici. Rezultatul -Infinity sau NaN se propagă în tot calculul.

Comenzi înrudite

  • pow: Ridică un număr la o putere; cu baza și exponentul întregi dă int, altfel double.
  • pi: Constantele matematice din dart:math: pi, e, sqrt2, ln10 (și ln2, log2e, log10e, sqrt1_2).
  • sqrt: Calculează rădăcina pătrată a unui număr și returnează mereu un double; pentru numere negative dă NaN.