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

avec Java Discussion :

Transformation d'equation differentielle


Sujet :

avec Java

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 19
    Points : 19
    Points
    19
    Par défaut Transformation d'equation differentielle
    Bonjour,

    Je voudrais transformer ce type d'equation diff: (a*dx/dt+b*x+c=0) sous forme ordinaire càd comme ça dx/dt=(-b/a)*x-(c/a)

    J'ai l'idée de parcourir toute la chaîne et extraire les éléments mais vraiment je ne sais pas comment faire!!

    Quelqu'un pourra m'aider Svp?
    BCdt,
    Tima

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2011
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2011
    Messages : 366
    Points : 1 362
    Points
    1 362
    Par défaut
    Tu ne sais pas comment faire, mais qu'est ce qui te bloque?

    Sais tu notamment quel genre d'expression tu peux manipuler? Pour ce genre de problème, tu te donnes droit à quoi comme entrée? A n'importe quelle expression?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    dx = exp(x) dt + ln(x^2 + 1) dt
    Ou "juste" à des polynomes?

    Une fois que tu sais çà, tu pourras définir un parser pour avoir une représentation de tes équations en Java. Ensuite, tu pourras les manipuler.

    Où en es tu dans ton analyse?

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 19
    Points : 19
    Points
    19
    Par défaut
    Oui que des polynomes.
    Moi je lui donne en entrée une équation de type
    a*dx/dt+b*x+c=0
    par example
    P=C*dT/dt+1/R(T-B)
    et ma fonction "résoudre" la transforme sous forme
    dx/dt=(-b/a)*x-(c/a)
    pour que je puisse la résoudre après parce que je peux le faire que sous cette forme ordinaire!
    En fait qui me bloque c'est comment extraire les variables a,b,c?

  4. #4
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2011
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2011
    Messages : 366
    Points : 1 362
    Points
    1 362
    Par défaut
    Citation Envoyé par Menitima Voir le message
    En fait qui me bloque c'est comment extraire les variables a,b,c?
    Tu peux utiliser les expressions régulières. Tu trouveras des classes java pour y arriver, comme Pattern et Matcher. Et il te faudra un tutoriel, c'est un peu ... çà demande un effort.

    Sinon, tu peux y aller à la main, mais c'est plus long. Par exemple, chercher les chaines ax^2 + bx +c et l'interpréter.

    Ensuite, tu vas devoir coder des éléments de calcul formel:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    a + b/c ==> (ac + b)/c
    C'est quoi qui te pose problème? La recherche de texte ou le calcul formel?

  5. #5
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 19
    Points : 19
    Points
    19
    Par défaut
    Hummm, c'est très bien les classes Matcher et Pattern ça aide bien pour extraire les variables que je voulais! Aahhh Merciii bien!

    mais il reste toujours le calcul formel, la gestioon des multiplications, additions, droite, gauche de l'équation..

    Est ce que t'as idée la dessus.?
    et merciiiiiiiiiiiii bien pour l'idée de Matcher et Pattern

    Bct,

  6. #6
    zo1odMSQr5Fy
    Invité(e)
    Par défaut
    Citation Envoyé par Menitima Voir le message
    Hummm, c'est très bien les classes Matcher et Pattern ça aide bien pour extraire les variables que je voulais! Aahhh Merciii bien!

    mais il reste toujours le calcul formel, la gestioon des multiplications, additions, droite, gauche de l'équation..

    Est ce que t'as idée la dessus.?
    et merciiiiiiiiiiiii bien pour l'idée de Matcher et Pattern

    Bct,
    Pour ce probléme pourquoi ne pas utiliser la notation polonaise inversée ?

  7. #7
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2011
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2011
    Messages : 366
    Points : 1 362
    Points
    1 362
    Par défaut
    Citation Envoyé par TheBear Voir le message
    Pour ce probléme pourquoi ne pas utiliser la notation polonaise inversée ?
    C'est à dire que tu procèderais en trois temps?
    1. Parser l'équation pour la passer en notation polonaise inversée
    2. Simplifier / transformer l'équation
    3. repasser en notation "usuelle"

  8. #8
    zo1odMSQr5Fy
    Invité(e)
    Par défaut
    Citation Envoyé par rmaker Voir le message
    C'est à dire que tu procèderais en trois temps?
    1. Parser l'équation pour la passer en notation polonaise inversée
    2. Simplifier / transformer l'équation
    3. repasser en notation "usuelle"
    Oui c'est exactement ça.

  9. #9
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 19
    Points : 19
    Points
    19
    Par défaut
    ça veut dire quoi exactement "notation polonaise inversée"
    Est ce qu'il y a un tuto qui pourra m'aider à le comprendre.. j'ai cherché sur google, ça à l'air aidant mais je trouve pas comment commencer avec!
    Merci :-)

  10. #10
    zo1odMSQr5Fy
    Invité(e)
    Par défaut
    Le but de la notation polonaise inversée est de séparer les chiffres/inconnues des signes arithmétique.
    Par exemple 1 + 1 = 2 te donnera 1 1 2 + =

    Pour ton exemple :
    a*dx/dt+b*x+c=0

    te donnera

    a dx dt b x c * / + + =

    Sauf en cas de parenthése tu as toujours plus de chiffres/inconnues que de signes.

    Ensuite pour transformer ton équation c'est à toi de jouer

  11. #11
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 19
    Points : 19
    Points
    19
    Par défaut
    Ah ok, je me souviens de cet algortithme, je l'ai fait fait une fois avec les arbres...
    Je vais chercher la dessus!
    Merci bien pour votre aide..

Discussions similaires

  1. [VBA-MATH]transformer une equation pour pouvoir la résoudre
    Par Marmotine dans le forum VBA Access
    Réponses: 6
    Dernier message: 01/04/2007, 15h03
  2. Réponses: 1
    Dernier message: 07/03/2007, 19h34
  3. Equations différentielles couplées
    Par lea6969 dans le forum MATLAB
    Réponses: 7
    Dernier message: 13/02/2007, 19h06
  4. Equations différentielles
    Par gilles68 dans le forum MATLAB
    Réponses: 4
    Dernier message: 22/10/2006, 22h00
  5. Equation differentielle
    Par j.p.mignot dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 21/01/2006, 21h04

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