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 {
&\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 {
&\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
}

—
Syracuse — Dernière modification : 10 juin 2004 (0.07s - 3629840 - 12 octobre 2008)