La funzione log() in C++

La funzione log() nel linguaggio C++ ti permette di calcolare il logaritmo naturale di un numero.

double log(double x);

Dove x è il numero di cui vuoi calcolare il logaritmo naturale. Deve essere un valore positivo.

Calcola e restituisce il logaritmo naturale di x in virgola mobile.

Cos'è il logaritmo naturale? Il logaritmo naturale è basato sulla costante e (circa 2.71828). E' una funzione matematica che calcola il numero di volte che la base, la costante matematica "e" approssimativamente uguale a 2.71828), deve essere moltiplicata per se stessa per raggiungere un altro numero x. Ad esempio il logaritmo naturale di 1 è 0 $$ \ln 1 = 0 $$ perché $$  e^0 = 2.71828^0 = 1 $$ Qualsiasi numero elevato a zero è uguale a uno.

La funzione è definita nell'header <cmath> che devi includere all'inizio del programma

Ecco un esempio pratico.

  1. #include <iostream>
  2. #include <cmath>
  3. int main() {
  4. double numero = 5.0;
  5. // Calcolo del logaritmo naturale
  6. double risultato = log(numero);
  7. std::cout << "Il logaritmo naturale di " << numero << " è " << risultato << std::endl;
  8. return 0;
  9. }

In questo esempio, calcoliamo il logaritmo naturale di 5.0.

Se eseguiamo questo codice, otterremo un risultato 1.60944 che è il logaritmo naturale di 5.0

Il logaritmo naturale di 5 è 1.60944

La funzione log() è uno strumento essenziale per il calcolo matematico in C++. Tuttavia, è importante capire i suoi limiti e come usarla in vari contesti.

Quando utilizzi la funzione log devi avere a mente alcuni casi particolari

  • Se x=0 la funzione log(x) restituirà il simbolo -inf, poiché il logaritmo di zero non è definito ma tende a meno infinito (-∞).
  • Se x<0 è un numero negativo il risultato non sarà valido, la funzione restituirà nan (not a number) perché il logaritmo di un numero negativo non esiste.

Se vuoi calcolare logaritmi in altre basi, diverse dal logaritmo naturale, puoi utilizzare la formula di conversione dei logaritmi

log(x) / log(base).

Ad esempio, per calcolare il logaritmo in base 10:

  1. #include <iostream>
  2. #include <cmath>
  3. int main() {
  4. double numero = 100.0;
  5. // Calcolo del logaritmo in base dieci
  6. double risultato = log(numero) / log(10);
  7. std::cout << "Il logaritmo in base 10 di " << numero << " è " << risultato << std::endl;
  8. return 0;
  9. }

Il logaritmo in base dieci di 100.0 è 2 perché 102=100

Il logaritmo naturale di 100 è 2

In questo modo puoi calcolare il logaritmo in qualsiasi base.

Con questo esempio pratico, spero di aver reso il concetto più accessibile e di facile comprensione.

 
 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin