IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mathématiques Discussion :

Structure des expressions mathématiques


Sujet :

Mathématiques

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 217
    Points : 105
    Points
    105
    Par défaut Structure des expressions mathématiques
    Bonjour.
    Je voudrais avoir des informations sur les structures des expressions mathématiques.
    Ce qu'on apprend au collège et même avant permet de tout ramener à une structure de polynôme par exemple. On a alors des choses comme cela : 9x²-3x+1. Si on met l'expression sous la forme d'un arbre (personellement ceux-là je les vois à l'envers : la racine en haut) on remarque que les multiplications sont tout en bas (monômes) puis il y a les additions (cela forme des polynômes) et c'est tout, mais si on s'interesse aux expressions rationnelles il y a un troisième niveau : la division.
    Y a t'il un autre standard, une structuration qui permette de stocker facilement toute expression mathématique "assez simple" (par exemple une expression qui est polynôme) ? Par "facilement", j'entend : qui permette de comparer des expressions, de résoudre des equations, de dériver... de faire des maths, quoi.
    Si c'est bien la meilleure (c'est ça qui m'interesserais vraiment), pourquoi cette forme là et pas une autre? Peut-on partir de quelque chose de basique (comme les propriétés du corps des réels) pour arriver assez proprement à une explication ?

    Autre question : comme améliorer ce modèle pour stocker systématiquement toute expression trigonométique par exemple?

    J'espère avoir été compréhensible.

  2. #2
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Bonjour,

    ce que tu cherches, ce que tu appelles structure tu vas le retrouver dans les grammaires arithmétiques.
    Ce sont les grammaires qui permettent de savoir si une expresssion est correcte. Donc en les modifiant, tu peux les améliorer pour qu'elles acceptent tout types de fonction mathématiques : trigo, log, exp, sqrt, !, ...
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  3. #3
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 76
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Points : 1 913
    Points
    1 913
    Par défaut
    A mon avis le plus simple est de traduire TOUT opérateur en mode 'préfixé' (à la Lisp).
    Ainsi -a*(b+c) donne quelque chose comme:
    (- (* a (+ b c)))
    En soi, le préfixé n'a rien de mieux que l'infixe ou la polonaise, mais la structure de liste permet de transposer les arbres:
    ainsi :
    (a b c) est l'arbre de sommet a ayant b et c comme fils
    (a (b c) d) est l'arbre de sommet a ayant b et d comme fils b ayant lui-même c comme fils, etc...
    L'expression étant mise sous cette forme l'évaluation est évidente sous forme d'un algorithme récursif extrêmement simple.
    eval d'une constante--> la constante elle même
    eval d'une variable --> sa valeur
    eval d'une liste (op arg1 arg2 arg3 ....argn) ayant un nombre quelconque d'arguments (1,2 ou n)
    1) évaluer les arguments
    2) appliquer 'op' à la liste des arguments évalués.
    Bref, c'est réinventer Lisp mais c'est terriblement simple et diablement efficace.
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 217
    Points : 105
    Points
    105
    Par défaut
    Oui, c'est dans cette direction que je suis parti. Mais c'est justement l'évaluation des listes qui pose problème : quelles sont les façons de procéder qui permettent à des expressions similaires de se retrouver avec la même structure, et qui traite le plus d'expressions possible ? Apparament la façon dont une expression est agencée quand elle à été calculée définie une grammaire. Je pense que je vais me faire quelques fonctions pour mettre des expressions simples dans une grammaire simple, et ensuite j'améliorerais tout ça, comme me le conseille ToTo13.

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/10/2012, 11h21
  2. Structure des bases
    Par Cordereve dans le forum Requêtes
    Réponses: 4
    Dernier message: 30/08/2004, 15h25
  3. structure des bases de données Palm
    Par nomdutilisateur dans le forum Bases de données
    Réponses: 2
    Dernier message: 17/01/2004, 17h47
  4. Structure des données en retour d'un DBExtract ?
    Par mikouts dans le forum XMLRAD
    Réponses: 4
    Dernier message: 24/01/2003, 15h15
  5. Implémentation des fonctions mathématiques
    Par mat.M dans le forum Mathématiques
    Réponses: 9
    Dernier message: 17/06/2002, 16h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo