US

Fonction et opérateur

Fonction

Pour dessiner le graphe d'une fonction, on utilise donc la commande plot suivie de la description de la fonction dont on souhaite dessiner le graphe. Par exemple, pour dessiner le graphe de la fonction sinus, il faut utiliser la commande :

gnuplot> plot sin(x)

L'unique variable utilisée dans le dessin de courbe 2D dans le plan est x. Il existe un certain nombre de fonctions prédéfinies dans Gnuplot. Les principales sont reprises dans le tableau suivant.

Fonction Description
abs(x) Valeur absolue
acos(x) Arc-cosinus
asin(x) Arc-sinus
atan(x) Arc-tangente
cos(x) Cosinus
cosh(x) Cosinus hyperbolique
exp(x) Exponentielle
log(x) Logarithme népérien (base e)
log10(x) Logarithme base 10
sin(x) Sinus
sinh(x) Sinus hyperbolique
sqrt(x) Racine carrée
tan(x) Tangente
atan(x) Tangente hyperbolique
Tableau 2.1 Les principales fonctions prédéfinies de Gnuplot

Toutes les fonctions de Gnuplot acceptent des nombres entiers, réel ou complexe en paramètre. Pour les fonctions trigonométriques, les angles sont donnés par défaut en radians. Vous trouverez la liste complète des fonctions prédéfinies de Gnuplot dans les ressources.

Opérateur

Pour construire n'importe quelle fonction, il faut combiner la variable x, les fonctions préféfinies et des nombres avec des opérateurs pour construire des expressions complexes. On peut classer les opérateurs en trois catégories selon le nombre d'opérandes qu'ils ont besoin.

Unaire

Les opérateurs unaires ne prennent qu'un seul paramètre. Il y a le signe - qui prend l'opposé d'un nombre et le signe + qui ne fait rien. Et il y a aussi des opérateurs qui n'agissent que sur des entiers, par exemple ! qui représente la factorielle.

La commande suivante permet de tracer l'opposé de la valeur de la factorielle des entiers :

gnuplot> plot -int(x)!

Attention, si on avait juste mis plot x!, cela aurait provoqué une erreur puisque la factorielle ne fonctionne que pour des entiers et c'est pour ça qu'on a utilisé la fonction int qui est une fonction prédéfinie qui prend la partie entière de x. Attention, vous n'obtiendrez pas la figure présentée ci-dessous juste avec cette commande, il faut fixer quelques paramètres pour les axes qu'on verra un peu plus loin dans ce chapitre.

Utilisation d'opérateurs unaires
Figure 2.1 Utilisation d'opérateurs unaires

Binaire

Les opérateurs binaires prennent deux opérandes. On retrouve tout d'abord les opérateurs arithmétiques courant pour l'addition +, la soustraction -, la multiplication * et la division /.

Il y a aussi l'opérateur modulo (%) qui calcule le reste de la division entière. Par exemple 7 % 3 vaut 1 puisque 7 est égal à 2 fois 3 avec un reste de 1. Enfin, Gnuplot propose aussi l'opérateur d'exponentiation (**) : x**y calcule x à la puissance y, c'est-à-dire xy.

On retrouve également des opérateurs booléens dont la valeur est 0 ou 1 selon que la condition est vérifiée ou non. Il y a == pour tester l'égalité, != pour l'inégalité et >, >=, < et <= pour plus grand et plus petit (ou égal).

On peut par exemple tracer une fonction qui vaut -2 si x est négatif et 2 si x est positif avec la commande suivante :

gnuplot> plot 4 * (x > 0) - 2
Utilisation d'opérateurs binaires
Figure 2.2 Utilisation d'opérateurs binaires

Enfin, il reste quelques opérateurs qui agissent sur des entiers. On retrouve notamment && et || qui représente le ET et le OU logique qui permettent de combiner des expressions booléennes.

Ternaire

Gnuplot propose un opérateur ternaire qui prend trois opérandes (? :). Si la valeur du premier opérande est différente de 0, la valeur renvoyée par l'opérateur est celle du second opérande; sinon, c'est celle du troisième opérande. Cet opérateur est notamment utilisée pour définir des fonctions par morceaux.

L'exemple suivant définit une fonction par morceaux. Pour les x négatifs, la fonction est simplement y = x et pour les x positifs, la fonction est définie par y = -x2.

gnuplot> plot x <= 0 ? x : -x**2
Fonction par morceaux
Figure 2.3 Fonction par morceaux
  • Espace membre
  • Learning Center
  • Les forums
  • Livre d'or
  • Imprimer
  • Boutique
  • Info
  • Règlement
  • Erreur
  • Newsletter