| |||||
| Dernière réponse | |
|---|---|
| Sujet : trace d'une fonction en c++ | |
| LeGreg | je propose que tu ecrives un parseur, qui te convertisse
un texte entre par l'utilisateur en une structure de donnee adaptee au calcul (par exemple sous forme d'un arbre) ex: 1 + 2 * cos(x+1) ca devient un flux de mot cles ou de valeurs 1>+>2>*>cos>(>x>+>1> ) que tu empiles dans un arbre + / \ 1 * / \ 2 cos | + / \ x 1 Puis tu commences par evaluer les feuilles en remontant, tu obtiens la valeur de la fonction pour differentes valeurs de x que tu traces a l'ecran.. Remarque hors sujet: Je pense qu'en Caml ca doit etre particulierement elegant a programmer :). Sinon si tu debutes tu peux commencer par donner directement tes fonctions a tracer sous forme d'arbre a l'interieur de ton programme ou dans un format de fichier adapte: add {1 mult{2 cos {add {v 1} } } } par exemple.. Sinon la derivation tu peux appliquer des schemes de derivation sur chaque noeud de ton arbre.. (a+b)' -> a'+ b' (a * b)' -> a'* b + a * b' cos(a)' -> -a'*sin(a) Apres tu pourras te pencher sur la simplification, sur la factorisation, l'elimination de termes qui s'annulent etc.. A+ LEGREG |
| Vue Rapide de la discussion |
|---|