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

C++ Discussion :

implémenter euler implicite en C++


Sujet :

C++

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 3
    Par défaut implémenter euler implicite en C++
    Bonjour,
    je dois écrire un programme pour résoudre à l’aide d’Euler explicite et d'Euler implicite,
    l’équation différentielle :
    y' =-2*y+(exp(-2*t)
    y(0) = 0,1;
    t appartient à [0; 2] :

    Lorsque j'exécute le programme je n'obtiens pas la ma même réponse pour Euler explicite et Euler implicite ???sachant que Euler explicite est correcte..
    voici le programme que j'ai écris:

    eulerImplicite.cpp
    Je vous remercie par avance pour votre aide.

  2. #2
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Quand tu dis différent, c'est à quel point?

    J'imagine que tu sais que les méthodes numériques ne sont pas précises en informatiques, et que les erreurs s'accumulent vite.

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 3
    Par défaut
    J'obtiens pour Euler explicite 0.00123105
    et pour Euler implicte 0.103063 .

  4. #4
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Tes fonctions n'ont pas la même valeur initiale d'accumulation (0.11 et 0.1), pas le meme nombre d'itération (<N et <=N).
    Et comme tu n'as mis aucun commentaire expliquant ce que tu as fait tes deux fonctions fausses par défaut de justification.

    Sais-tu si les mathématiques sont bonnes?

  5. #5
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 3
    Par défaut
    Je vais essayer de mettre les mêmes valeurs...

    Je ne sais pas si au niveau mathématique cela est correcte pour euler implicite et je ne sais pas comment faire pour le vérifier..??

    Merci pour votre aide

  6. #6
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    En faisant des maths, pardi.
    Ce que je ne sais plus faire. Par contre, tu trouveras probablement une piste sur wikipedia.
    Je t'invite à tester tes formules sur des calculs dont tu connais la valeur. (fonction identité, somme, moyenne, différence, que sais-je encore)

    Ton résultat ne peux pas être plus fiable que ta formule.
    Si celle-ci n'est pas sûre, le résultat est inutilisable (ce que j'ai appelé faux)

    Quand un résultat n'est pas satisfaisant, il n'y a que deux possibilités:
    • le calcul est faux.
    • les données sont fausses.

  7. #7
    Membre confirmé
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Février 2015
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de Recherche

    Informations forums :
    Inscription : Février 2015
    Messages : 22
    Par défaut
    leternel a tout à fait raison.

    Quelle formule utilises-tu pour Euler implicite ? Quelle méthode pour résoudre le système non-linéaire ? Ecris-les au moins sur papier et sois sûre qu'elle sont correctes avant de regarder le résultat numérique.

    Pour vérifer ensuite : soit tu raffines ta discrétisation et tu regardes que ta solution converge bien avec l'ordre attendu, soit tu prends comme solution un polynôme et tu regardes qu'il est "exact" s'il est du même degré que l'ordre de ta méthode. Evidemment la façon de calculer l'erreur peut changer ça donc il faut regarder les théorèmes qui existent et pour quelles normes ils sont vrais (tu dois avoir ça dans ton cours).

    PS : renomme tes variables, met des commentaires, crées des fonctions intermédiaires... là ton code est dur à lire (même s'il est cours).

  8. #8
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    J'avais oublié de préciser qu'un ordinateur est aussi bête que possible: il fait exactement ce que tu lui demandes, ce qui peut différer de ce que tu veux.

    La question est donc de savoir déterminer si ce que tu demandes est bien ce que tu veux, et donc de pouvoir vérifier tes maths.

Discussions similaires

  1. Méthode d'Euler implicite ou explicite
    Par glenngrauwels dans le forum MATLAB
    Réponses: 3
    Dernier message: 16/11/2009, 10h25
  2. Implémentation implicite d'interface
    Par maa dans le forum Général Dotnet
    Réponses: 26
    Dernier message: 24/12/2008, 21h17
  3. Réponses: 3
    Dernier message: 20/09/2008, 14h48
  4. Euler/Runge-Kunta: Comment les implémenter
    Par progfou dans le forum Algorithmes et structures de données
    Réponses: 21
    Dernier message: 27/02/2006, 22h52
  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