« Programmation C/Mathématiques » : différence entre les versions

Un livre de Wikilivres.
Contenu supprimé Contenu ajouté
(intro) simplification et renvoi au chapitre de gestion d'erreur
balise source
Ligne 3 : Ligne 3 :
</noinclude>
</noinclude>
Pour pouvoir utiliser les fonctions mathématiques, il faut utiliser l'en-tête ''math'', ainsi que ''errno.h'' pour gérer les erreurs :
Pour pouvoir utiliser les fonctions mathématiques, il faut utiliser l'en-tête ''math'', ainsi que ''errno.h'' pour gérer les erreurs :

<pre>
<source lang="c">
#include <math.h>
#include <math.h>
#include <errno.h>
#include <errno.h>
</pre>
</source>


Comme pour un certain nombre de fonctions de la biliothèques standard, il est en effet nécessaire d'utiliser <tt>errno</tt> pour détecter l'erreur d'une fonction mathématique (voir le chapitre sur la gestion d'erreurs pour voir comment utiliser <tt>errno</tt>).
Comme pour un certain nombre de fonctions de la biliothèques standard, il est en effet nécessaire d'utiliser <tt>errno</tt> pour détecter l'erreur d'une fonction mathématique (voir le chapitre sur la gestion d'erreurs pour voir comment utiliser <tt>errno</tt>).
Ligne 15 : Ligne 16 :
== Exponentiations ==
== Exponentiations ==


<source lang="c">
<pre>
double exp ( double x );
double exp ( double x );
double pow ( double x, double y );
double pow ( double x, double y );
</pre>
</source>

''exp'' calcule ''e'' élevé à la puissance de ''x'' (<math>e^x</math>) où ''e'' est la base des logarithmes naturels (ln(e) = 1). ''pow'' calcule la valeur de ''x'' élévé à la puissance ''y'' (<math>x^y</math>).
''exp'' calcule ''e'' élevé à la puissance de ''x'' (<math>e^x</math>) où ''e'' est la base des logarithmes naturels (ln(e) = 1). ''pow'' calcule la valeur de ''x'' élévé à la puissance ''y'' (<math>x^y</math>).


Ligne 26 : Ligne 28 :


== Logarithmes ==
== Logarithmes ==

<pre>
<source lang="c">
double log ( double x );
double log ( double x );
double log10 ( double x );
double log10 ( double x );
</pre>
</source>

''log'' calcule le logarithme néperien de ''x'' (noté généralement ln(x) en mathématiques). ''log10'' calcule le logarithme à base 10 de ''x''.
''log'' calcule le logarithme néperien de ''x'' (noté généralement ln(x) en mathématiques). ''log10'' calcule le logarithme à base 10 de ''x''.


Ligne 37 : Ligne 41 :


== Racine carrée ==
== Racine carrée ==

<pre>
<source lang="c">
double sqrt ( double x );
double sqrt ( double x );
</pre>
</source>

Renvoie la racine carrée de ''x''.
Renvoie la racine carrée de ''x''.


Ligne 46 : Ligne 52 :


== Sinus, cosinus, tangente ==
== Sinus, cosinus, tangente ==

<pre>
<source lang="c">
double sin ( double x );
double sin ( double x );
double cos ( double x );
double cos ( double x );
double tan ( double x );
double tan ( double x );
</pre>
</source>


Note : les angles retournés sont en radians (intervalle -pi/2 à pi/2).
Note : les angles retournés sont en radians (intervalle -pi/2 à pi/2).


== Arc sinus, arc cosinus ==
== Arc sinus, arc cosinus ==

<pre>
<source lang="c">
double asin ( double x );
double asin ( double x );
double acos ( double x );
double acos ( double x );
</pre>
</source>


=== Erreurs ===
=== Erreurs ===
Ligne 64 : Ligne 72 :


== Arc tangente ==
== Arc tangente ==

<pre>
<source lang="c">
double atan ( double x );
double atan ( double x );
double atan2 ( double y, double x );
double atan2 ( double y, double x );
</pre>
</source>

Version du 31 mai 2007 à 14:56


Pour pouvoir utiliser les fonctions mathématiques, il faut utiliser l'en-tête math, ainsi que errno.h pour gérer les erreurs :

#include <math.h>
#include <errno.h>

Comme pour un certain nombre de fonctions de la biliothèques standard, il est en effet nécessaire d'utiliser errno pour détecter l'erreur d'une fonction mathématique (voir le chapitre sur la gestion d'erreurs pour voir comment utiliser errno).

Note : Sur certains compilateurs comme GCC, il est nécessaire d'ajouter durant l'édition des liens une option pour que la « librairie mathématique » soit liée au programme. Pour GCC, cette option est -lm. Sans cette option, le programme pourra compiler, mais le résultat à l'exécution sera surprenant...

Exponentiations

double exp ( double x );
double pow ( double x, double y );

exp calcule e élevé à la puissance de x () où e est la base des logarithmes naturels (ln(e) = 1). pow calcule la valeur de x élévé à la puissance y ().

Erreurs

La fonction pow peut déclencher l'erreur suivante :

  • EDOM : x est négatif, et y n’est pas un entier.

Logarithmes

double log ( double x );
double log10 ( double x );

log calcule le logarithme néperien de x (noté généralement ln(x) en mathématiques). log10 calcule le logarithme à base 10 de x.

Erreurs

  • EDOM : x est négatif ;
  • ERANGE : x est nul.

Racine carrée

double sqrt ( double x );

Renvoie la racine carrée de x.

Erreurs

  • EDOM : x est négatif.

Sinus, cosinus, tangente

double sin ( double x );
double cos ( double x );
double tan ( double x );

Note : les angles retournés sont en radians (intervalle -pi/2 à pi/2).

Arc sinus, arc cosinus

double asin ( double x );
double acos ( double x );

Erreurs

  • EDOM : x est inférieur à 1 ou supérieur à -1.

Arc tangente

double atan ( double x );
double atan2 ( double y, double x );