Stocker une valeur

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

Stocker une valeur

Messagepar stokastik » Jeudi 13 Avril 2006, 18:16

Bonjour,

On peut faire des calculs avec LaTeX (par exemple avec le code PostScript {2 4 mul}, mais comment stocker le résultat du calcul dans une variable ?
stokastik
 

Publicité

Re: Stocker une valeur

Messagepar P.Fradin » Jeudi 13 Avril 2006, 19:41

stokastik a écrit:Bonjour,

On peut faire des calculs avec LaTeX (par exemple avec le code PostScript {2 4 mul}, mais comment stocker le résultat du calcul dans une variable ?


En Postscript, on définit une variable a ainsi:

Code: Tout sélectionner
/a{2 4 mul}def
P.Fradin
 

Messagepar stokastik » Jeudi 13 Avril 2006, 20:33

Et en LaTeX ???

Autre question :
Y a-t-il moyen de définir une fonction et de l'évaluer au point qu'on veut ?
stokastik
 

Messagepar P.Fradin » Jeudi 13 Avril 2006, 22:09

stokastik a écrit:Et en LaTeX ???

Autre question :
Y a-t-il moyen de définir une fonction et de l'évaluer au point qu'on veut ?


En $\LaTeX$ je suppose qu'il faut utiliser des registres, pour des valeurs entières, sinon des registres de dimension, mais je ne l'ai jamais fait.

En postscript voici une fonction f d'une variable x ($x\sin(x)$):

Code: Tout sélectionner
/defvar{/x 2 -1 roll def}def
/f{defvar x dup sin mul}def


Utilisation (par exemple pour f(12)): 12 f

La macro defvar permet de lire la valeur qui précède f et la stocke dans une variable x, puis la macro f duplique x, calcule son sinus et le multiplie avec le x et donne le résultat (pour comprendre il faut savoir que postscript fonctionne avec une pile).
On peut même tracer directement la courbe en postscript (je n'ai pas fait de changement d'échelle!):

Code: Tout sélectionner
0 0 f moveto 0 36{10 add dup dup f lineto}repeat stroke


on part de (0,0) et on relie les points (x,f(x)) (36 fois en allant de 10 en 10).
P.Fradin
 

Messagepar stokastik » Jeudi 13 Avril 2006, 22:18

Merci pour ce petit cours de PostScript mais ça ne répond pas du tout à ma question.
stokastik
 

Messagepar P.Fradin » Jeudi 13 Avril 2006, 22:37

stokastik a écrit:Merci pour ce petit cours de PostScript mais ça ne répond pas du tout à ma question.


Ben...si quand même un peu! La réponse est: en postscript oui (c'est ce que fait d'ailleurs pstricks), en $LaTeX$ non, sinon pourquoi utiliser du postscript?
P.Fradin
 

Messagepar stokastik » Jeudi 13 Avril 2006, 22:49

C'est en LaTeX que je veux faire ça.
stokastik
 

Messagepar la main gauche » Mardi 25 Avril 2006, 07:42

TeX est une machine avec 246 registres (mémoires) numériques, 256 registres de listes de tokens (qui ont un comportement différent des macros, dont le nombre est virtuellement illmité), et d'autres registres pour les dimensions et le boîtes. En outre, il n'est pas très difficile de programmer un pile pour sauvegarder des nombres. Tout cela devrait tout à fait réjouir les gens qui ont déjà programmé un microprocesseur.

exemple de fonction pour TeX
Code: Tout sélectionner
\newcount\RA
\newcount\RB
\newcount\RC
\newcount\RD
% les quatres noms symboliques RA RB RC et RD désignent une mémoire numérique

% la fonction max écrit le maximum de RA et RB dans RC.
%  RA RB et RD ont leur contenus préservés
\def\max{% coiffeur pour dames
\RC=\RA
\advance\RC by -\RB
\ifnum\RC<0 \RC=-\RC\fi
\advance\RC by \RA
\advance\RC by \RB
\divide\RC by 2 }% attention à laisser l'espace ici

\RA=45 \RB=-11 \max
Le plus grand parmi \the\RA\ et \the\RB\ est \the\RC.


C'est vraiment aussi appétissant que de l'assembleur. En tout cas bien spécifier le comportemnt des fonctions (ie la façon dont elles modifient les registres). Pour n'importe quoi de compliqué une pile est certainement nécessaire (à moins d'être une adpete de consrcuctions avec *expandafter*).
la Main Gauche
la main gauche
Méga-utilisateur
 
Messages: 274
Inscription: Jeudi 30 Mars 2006, 07:44
Localisation: selon l'idéal de la liberté


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Google Adsense [Bot] et 10 invités