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

MATLAB Discussion :

Problème Méthode d'Euler


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 15
    Par défaut Résolu
    Tout d'abord bonjour à tous, j'aimerais avoir votre aide concernant la programmation de la méthode d'Euler Implicite, je vous montre ce que j'ai effectué.

    EDIT: j'ai supprimé mes programmes suite à la copie par certains élèves de ma promo (ils se reconnaitrons :p), demandez donc moi plutôt que de copier des programmes à moitié faux que vous ne comprenez pas ^^

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Par défaut
    Bonjour.
    function y=dF(x);
    y=[0 1;-1 0];
    Tu n'utilises pas l'argument d'entrée x ?

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 15
    Par défaut
    dF correspond à la Jacobienne de F, (sauf erreur de ma part sa donne celà ^^) donc je n'ai pas utilisé x pour cela, néanmoins je m'étais dit qu'en y mettant sous cette forme se serait plus simple si je devais le refaire avec une autre fonction.
    Le fait que je ne l'utilise pas pourrait donc créer un soucis? =/

    EDIT:

    J'ai modifié une ligne de ma fonction de Newton par celle ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Nw=Nw-inv(feval(dF,Nw))*feval(F,Nw);
    Cela m'enlève déjà la seconde erreur, mais la première persiste =/...

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Je ne vois pas très bien l'intérêt de FEVAL ici

    A mon avis, tu devrais reprendre ton algorithme depuis le début

  5. #5
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 15
    Par défaut
    Je me suis inspiré justement de ce que j'ai pu trouver afin d'essayer de construire cette petite chose bancale qui ne marche pas ^^'... Comme je l'ai souligné, je suis plutôt débutant en la matière. Il me semble avoir réussi pour Euler Explicite, mais même en reprenant tout du début pour Euler Implicite, le problème est que je ne vois pas par où commencer différemment...

    Concernant feval, je dois bien avouer ne pas trop connaitre les moments précis où sont utilisation est strictement nécessaire, mais les fonctions f et df sont des arguments d'entrée de la fonction newton et "il est donc
    nécessaire d'utiliser la commande feval pour les appeler" à ce que j'ai pu recevoir comme informations jusqu'à présent...

    Mis à part cela, il me semble par contre m'être rendu compte que je n'applique pas newton aux bonnes fonction F et dF pour construire un schéma d'Euler Implicite. Il me faudra relire quelque peu mon cours là dessus pour en être certain.

    Mais j'ai quelque peu l'impression d'être dans une impasse,ne sachant plus trop que faire pour m'en sortir...

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 299
    Par défaut
    Salut, dans ta méthode de Newton, tu peux pas plutôt faire plus simplement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Nw=Nw-F(Nw)\dF(Nw);
    Ca m'a l'air plus simple.

    Autre probème : il faut tester que ta matrice jacobienne soit inversible (donc 0 ne doit pas être une valeur propre...)
    Si c'est le cas, tu peux t'inspirer d'une méthode de Newton modifiée... Si J(t) non inversible alors tu poses J(t) = J(t - 1) ou J(t) est la jacobienne à l'instant t

Discussions similaires

  1. VBA-E Problème méthode .find
    Par popo68 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/01/2007, 10h14
  2. [EJB2.1 Entity] Problème méthode findAll() avec Jonas 4.7.4
    Par mixouille dans le forum Java EE
    Réponses: 1
    Dernier message: 28/07/2006, 12h06
  3. Problème méthode NUM
    Par Pfeffer dans le forum 4D
    Réponses: 2
    Dernier message: 10/07/2006, 09h17
  4. méthode d'euler, équation différentielle
    Par totoflingueur dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 20/04/2006, 23h44

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