Page 1 of 1

Version passive de fonctions

Unread postPosted: 21 Jan 2009, 18:35
by Bisam
Sur Maple, beaucoup de fonctions existent sous forme passive (Limit, Int, Diff, Sum, Prod, etc...) et ne servent par conséquent pas à faire des calculs mais uniquement à faire afficher un calcul (limite, intégrale, dérivée, somme, produit, etc..) puis éventuellement à le réutiliser pour des simplifications ou des transformations pas à pas.

Notamment, on peut l'utiliser pour faire calculer des intégrations par parties ou des changements de variable sans que Maple ne renvoie immédiatement la valeur de l'intégrale.

Ma question est la suivante :
1) est-il possible à votre avis de faire la même chose sur la calculette (je pense que c'est largement faisable avec un peu d'assembleur)
2) Des fonctions n'existeraient-elles pas déjà (ou ne pourraient-elles pas être détournées) pour faire cela ? (je pense notamment aux possibilités des librairies comme Flib ou autres que je ne connais pas bien).

Merci d'avance pour vos réponses.

Re: Version passive de fonctions

Unread postPosted: 21 Jan 2009, 19:38
by tama
+1
euh ... un exemple pour illustrer ? ^^

Re: Version passive de fonctions

Unread postPosted: 21 Jan 2009, 20:33
by Bisam
Je me doutais que j'aurais ce genre de réactions... :(:

Bon, je tente un exemple.

Avec Maple, on peut définir une intégrale ainsi :
Code: Select all
J:=int(ln((1+x)/(1-x))*x/sqrt(1-x^2),x=-1..1);

Le problème, c'est que Maple renvoie immédiatement le résultat :
Code: Select all
J:=5Pi/3

Si on voulait des explications, c'est raté !

On peut y remédier grâce aux fonctions passives.
On définit à nouveau l'intégrale en changeant juste le "int" en "Int" (notez la majuscule !)
Code: Select all
J:=Int(ln((1+x)/(1-x))*x^3/sqrt(1-x^2),x=-1..1);

Là, Maple ne fait rien : il se contente d'afficher l'intégrale en "Pretty print"... mais on peut quand même l'utiliser pour faire des calculs : simplifier l'intégrande, faire une intégrations par parties ou encore un changement de variables.

Par ailleurs, on peut à tout moment transformer une forme passive en forme active en utilisant la fonction "eval".


C'est ce que je voudrais réussir à obtenir sur la calculatrice : une fonction qui se contente d'afficher en "Pretty print" mais qui permette tout de même l'utilisation d'autres fonctions pour transformer l'expres​sion(factoriser, décomposer en éléments simples, etc...).

Vous trouvez que je suis exigeant ? :#roll#:

Re: Version passive de fonctions

Unread postPosted: 21 Jan 2009, 21:02
by tama
oué ou au C ^^
bon ça devrait être possible mais il faudrait stocker ça quelque part pour pouvoir faire des calculs ... pis voilà c'est pas si évident que ça finalement :D

Re: Version passive de fonctions

Unread postPosted: 21 Jan 2009, 21:34
by Bisam
Je me doutais qu'en ASM, c'était faisable mais le langage est vraiment trop rebutant !!
Pour ce qui est du C, il faudrait que je m'y mette... mais ça me prendrait bien trop de temps, et du temps, j'en manque déjà.

Enfin, pour ce qui est de stocker, ce n'est pas forcément nécessaire.
Le problème est qu'il faudrait redéfinir (prolonger en quelque sorte) les fonctions de base de la calculatrice afin qu'elles sachent gérer ces nouvelles fonctions passives...
mais là, ça devient vraiment technique !

Dans Maple, c'est simple : on peut facilement rajouter des choses aux fonctions de base... Il suffit en quelque sorte de lui dire : si lorsque tu utilises telle fonction, tu rencontres telle autre alors fais ceci...


Bon, je vais réfléchir à une méthode faisable avec les moyens du bord pour le seul point qui m'intéressait vraiment : les changements de variable dans les intégrales...

PS : Je suis sûr d'avoir déjà vu que la commande "Afficher en Pretty print" existe en natif dans la calculatrice... alors je me demande si elle a déjà été intégrée à une librairie quelconque...

Re: Version passive de fonctions

Unread postPosted: 21 Jan 2009, 21:43
by tama
hmm...en TI-Basic pur ? dans un programme ? ça m'intéresse de savoir ...

Re: Version passive de fonctions

Unread postPosted: 22 Jan 2009, 16:05
by ProgVal
La librairie FLib permet d'afficher en Pretty Print.