Accueil de Gladir.com Notes légales de Gladir.com Flux RSS des nouvelles du site Gladir.com - Langage de programmation - PHP - Atn/ATan/ArcTan/ArcTangente Section du logiciel DOS «MonsterBook» Inventaire de la bibliothèque de Gladir.com Entrée administrateur

En PHP, il existe déjà une fonction permettant de connaitre l'ArcTangente. Cependant, il peut être intéressant d'en reproduire une pour notre plaisir personnel. Pour remédier à se problème, il suffit de créer une fonction ressemblant à ceci avec un préalable la fonction de racine carré:

  1. <?php
  2. function SquareRoot($X) { 
  3.   if($X==0.0) { 
  4.      return 0.0;  
  5.   } else { 
  6.      $M=1.0;
  7.      $XN=$X;
  8.      while($XN>=2.0) { 
  9.         $XN=0.25*$XN;  
  10.         $M=2.0*$M;  
  11.      } 
  12.      while($XN<0.5) { 
  13.         $XN=4.0*$XN;  
  14.         $M=0.5*$M;  
  15.      } 
  16.      $A=$XN;
  17.      $B=1.0-$XN;  
  18.      do {  
  19.         $A=$A*(1.0+0.5*$B);  
  20.         $B=0.25*(3.0+$B)*$B*$B;  
  21.      } while($B>=1.0E-15);  
  22.      return $A*$M;  
  23.   } 
  24. }   
  25.     
  26. function ArcTan($X) { 
  27.    $A = 1.0 / SquareRoot(1.0 + ($X * $X));
  28.    $B = 1.0; 
  29.    $N = 1; 
  30.    while($N<=11) { 
  31.      $A = ($A + $B) / 2.0; 
  32.      $B = SquareRoot($A * $B); 
  33.      $N++; 
  34.    } 
  35.    return $X / (SquareRoot(1.0 + ($X * $X)) * $A); 
  36. } 
  37.  
  38. $R=0.0; 
  39. while($R<=1.1) { 
  40.    echo "ArcTan(".$R.")=".ArcTan($R)."<BR>";  
  41.    $R+=0.1;       
  42. } 
  43. ?>

on obtiendra le résultat suivant:

ArcTan(0.00000)= 0.000000
ArcTan(0.10000)= 0.099668
ArcTan(0.20000)= 0.197396
ArcTan(0.30000)= 0.291457
ArcTan(0.40000)= 0.380506
ArcTan(0.50000)= 0.463648
ArcTan(0.60000)= 0.540420
ArcTan(0.70000)= 0.610726
ArcTan(0.80000)= 0.674741
ArcTan(0.90000)= 0.732815
ArcTan(1.00000)= 0.785398

Dernière mise à jour: Jeudi, le 22 octobre 2009