Accueil de Gladir.com Notes légales de Gladir.com Flux RSS des nouvelles du site Gladir.com - Langage de programmation - Perl - Mathématique - Exp/Exponentiel Section du logiciel DOS «MonsterBook» Inventaire de la bibliothèque de Gladir.com Entrée administrateur

Après avoir effectué des recherches dans de nombreux livres comme Scientific Pascal, Dictionnaire mathématique,..., je n'ai jamais trouvé aucun livre fournissant une réponse correct du calcul de l'exponentiel (soit l'inverse de Ln ou la fonction exp), outre le projet GNU (HaypoCALC). Je me suis donc basé sur sa formule pour arriver au résultat contenu dans cette page. Voici un code source Perl effectuant un calcul correct de cette formule en se basant sur les savants calculs de ce projet :

  1. #!/usr/bin/perl
  2.  
  3. sub _Exp() {
  4.  my($x) = @_;
  5.  my($inverse) = 0;
  6.  my($n) = 0;
  7.  my($dl) = 1;
  8.  my($i) = 1;
  9.  if($x < 0) {
  10.   $inverse = 1;
  11.   $x = - $x;
  12.  }
  13.  while($x >= 2) {
  14.   $x /= 2;
  15.   $n++;
  16.  }
  17.  $x /= 16;
  18.  $n += 4;
  19.  my($q) = $x;
  20.  while ($q > 1.0E-15) {
  21.   $dl += $q;
  22.   $i++;
  23.   $q = $q * $x / $i;
  24.  }
  25.  for($i = 1; $i <= $n; $i++) {
  26.   $dl = $dl * $dl;
  27.  }
  28.  if($inverse) {
  29.   $dl = 1 / $dl;
  30.  }
  31.  return $dl;
  32. }
  33.  
  34. my($I);
  35. for($I = 0; $I <= 2.0; $I += 0.1) {
  36.  print "Exp(" . $I . ")=" . &_Exp($I) . " " . exp($I) . "\n";
  37. }

on obtiendra le résultat suivant :

Exp(0.0)=1.0 1.0
Exp(0.1)=1.1051709180756477 1.1051709180756477
Exp(0.2)=1.221402758160166 1.2214027581601699
Exp(0.30000000000000004)=1.349858807576001 1.3498588075760032
Exp(0.4)=1.4918246976412661 1.4918246976412703
Exp(0.5)=1.6487212707001244 1.6487212707001282
Exp(0.6)=1.8221188003905087 1.8221188003905089
Exp(0.7)=2.0137527074704717 2.0137527074704766
Exp(0.7999999999999999)=2.225540928492434 2.2255409284924674
Exp(0.8999999999999999)=2.4596031111569396 2.4596031111569494
Exp(0.9999999999999999)=2.71828182845905 2.718281828459045
Exp(1.0999999999999999)=3.0041660239464347 3.004166023946433
Exp(1.2)=3.3201169227365463 3.3201169227365472
Exp(1.3)=3.669296667619233 3.6692966676192444
Exp(1.4000000000000001)=4.055199966844625 4.055199966844675
Exp(1.5000000000000002)=4.481689070338069 4.481689070338065
Exp(1.6000000000000003)=4.9530324243950865 4.953032424395117
Exp(1.7000000000000004)=5.473947391727178 5.473947391727202
Exp(1.8000000000000005)=6.04964746441294 6.049647464412949
Exp(1.9000000000000006)=6.685894442279275 6.685894442279273


Voir également

Science - Mathématique

Dernière mise à jour: Mardi, le 3 janvier 2012