Section courante

A propos

Section administrative du site

LOG

Logarithme
SAS Mathématique

Syntaxe

LOG(argument)

Paramètres

Nom Description
argument Ce paramètre permet d'indiquer l'expression contenant le nombre à traiter

Description

Cette fonction retourne le logarithme naturel (base e).

Algorithme

MODULE SQRT(X)
   SI X = 0.0 ALORS
      RETOURNE 0.0
   SINON
      M ← 1.0
      XN ← X
      BOUCLE FAIRE TANT QUE XN >= 2.0
         XN ← 0.25 x XN
         M ← 2.0 x M
      FIN BOUCLE FAIRE TANT QUE
      BOUCLE FAIRE TANT QUE XN < 0.5
         XN ← 4.0 x XN
         M ← 0.5 x M
      FIN BOUCLE FAIRE TANT QUE
      A ← XN
      B ← 1.0 - XN
      BOUCLE REPETER
         A ← A x (1.0 + 0.5 x B)
         B ← 0.25 x (3.0 + B) x B x B
      FIN BOUCLE JUSQU'A B ← 1.0E - 15
      RETOURNE A x M
   FIN SI

MODULE LOG(x)
   negatif ← faux
   fois ← 1
   ajout ← 0
   SI x <= 0.0 ALORS
      RETOURNE 0
   FIN SI
   SI x < 1.0 ALORS
      negatif ← vrai
      x ← 1.0 / x
   FIN SI
   BOUCLE FAIRE TANT QUE x >= 10.0
      x ← x / 10.0
      ajout ← ajout + 2.302585092994046
   FIN BOUCLE FAIRE TANT QUE
   BOUCLE FAIRE TANT QUE x >= 1.1
      x ← SQRT(x)
      fois ← fois x 2
   FIN BOUCLE FAIRE TANT QUE
   x ← x - 1
   savx ← x
   i ← 2
   xp ← x x x
   quotient ← (xp / i)
   dl ← x - quotient
   BOUCLE FAIRE TANT QUE 1.0E-15 ← quotient
      i ← i + 1
      xp ← xp x x
      dl ← dl + (xp / i)
      i ← i + 1
      xp ← xp x x
      quotient ← (xp / i)
      dl ← dl - quotient
   FIN BOUCLE FAIRE TANT QUE
   dl ← dl x fois
   dl ← dl + ajout
   SI negatif ALORS
      dl ← -dl
   FIN SI
   RETOURNE dl

Exemple

Voici un exemple permettant d'afficher le logarithme inférieurs à 2 :

  1. data logsamples;
  2.  I = 0.1;
  3.  do while(I < 2);
  4.   R = log(I);
  5.   put 'log(' I ')=' R;
  6.   I = I + 0.1;
  7.  end;
  8. run;

on obtiendra le résultat suivant :

log(0.1 )=-2.302585093
log(0.2 )=-1.609437912
log(0.3 )=-1.203972804
log(0.4 )=-0.916290732
log(0.5 )=-0.693147181
log(0.6 )=-0.510825624
log(0.7 )=-0.356674944
log(0.8 )=-0.223143551
log(0.9 )=-0.105360516
log(1 )=-1.11022E-16
log(1.1 )=0.0953101798
log(1.2 )=0.1823215568
log(1.3 )=0.2623642645
log(1.4 )=0.3364722366
log(1.5 )=0.4054651081
log(1.6 )=0.4700036292
log(1.7 )=0.5306282511
log(1.8 )=0.5877866649
log(1.9 )=0.6418538862


Dernière mise à jour : Samedi, le 6 août 2016