Retour

deffct.tex

Télécharger le fichier
Pour définir une fonction, les plus simple (?) consiste à utiliser le
langage Postscript et la manipulation de la pile. On a tout de même
rajouté la commande |setxvar| qui permet d'assigner à la variable |x|
l'élement en haut de la pile.
 
Par exemple, voici quelques définitions de fonctions, avec leur
équivalent mathématique~:
\halign {
   % preamble
      &\hskip 10mm \cc {#}& #$\longrightarrow $ & #\hfil & #\qquad
   \cr
      |/f $\{$$\}$ def|&& $f (x) = x$
   \cr
      |/f $\{$setxvar x$\}$ def|&& $f (x) = x$
   \cr
      |/f $\{$Sin$\}$ def|&& $f (x) = \sin x$
   \cr
      |/f $\{$setxvar x Sin$\}$ def|&& $f (x) = \sin x$
   \cr
      |/f $\{$2 add ln$\}$ def|&& $f (x) = \ln (x+2)$
   \cr
      |/f $\{$setxvar x 2 add ln$\}$ def|&& $f (x) = \ln (x+2)$
   \cr
      |/g $\{$setxvar x 2 add x neg 3 sub mul$\}$ def|&& $g (x) = (x+2)(-x-3)$
   \cr
      |/g $\{$setxvar x 2 exp 3 x mul add 2 sub$\}$ def|&& $g (x) =
      x^2 + 3x - 2$
   \cr
}
 
Néammoins, pour les réticents, la commande |#rpn#| (placée dès le
premier caractère de la ligne) permet de sous-traiter l'écriture en
notation polonaise inverse de l'expression de la fonction en envoyant
toute la fin de la ligne au script |exp2rpn| de Jean-Michel Sarlat.
Ainsi, voici une façon de définir une fonction à partir de son
écriture en notation cartésienne~:
\halign {
   % preamble
      &\hskip 10mm #\qquad \hss & #$\longrightarrow $ & #\hfil & #\qquad
   \cr
      |/g {setxvar|
   \cr
      |#rpn# x^2 + 3*x - 2 * ln (x)| 
   \cr
      |} def|&& $g (x) = x^2 + 3x - 2\ln x$
   \cr
}