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 :

Système d'équations différentielles non linéaire


Sujet :

MATLAB

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 11
    Points : 8
    Points
    8
    Par défaut Système d'équations différentielles non linéaire
    Bonjour,

    je cherche à résoudre le système suivant: dG=MG.
    G est le vecteur d'état et contient deux sous-fonctions.
    M est une matrice 2x2 dont les éléments dépendent de x. M est définie via une autre fonction, et dépend également de w qu'on prend constant.
    x est une liste dont les éléments correspondent à ceux de xspan.

    J'essaie d'utiliser la fonction ode45 pour y parvenir:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    [x,G]=ode45(@green,xspan,[0 1],[],M);
    avec la fonction green.m qui définit le système:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    function dG = green(x,G,w,M)
     
    M=mat_sys(x,w);
     
    dG = zeros(2,1);
    dG=M*G;
    Pour l'instant, Matlab me signale une erreur de dimension:
    Error using ==> mtimes
    Inner matrix dimensions must agree.
    Est-ce que quelqu'un aurait une idée de la manière de résoudre ce genre de système?
    Merci d'avance.

  2. #2
    Membre à l'essai
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    12
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 12
    Points : 11
    Points
    11
    Par défaut
    Je ne sais pas résoudre ton problème mais tu peux pour t'y retrouver utiliser la fonction size qui te renvoie la taille d'une matrice.
    Cela peut t'aider à vérifier ce que tu fais et si tes matrices sont bien de dimension voulue.
    Désolé si tu connais cette fonction et si je ne te suis d'aucune utilité mais on ne sait jamais. D'autant que personne ne t'a encore répondu.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Merci d'avoir jeté un coup d'oeil à ma demande.
    Le problème c'est que dans le workspace ma matrice est de taille 2x2, donc ça devrait coller... sauf que ça ne prend pas en compte la dépendance en x...
    Je suis un peu coincée là...

  4. #4
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    As-tu bien regardé la taille de M et de G ?
    M est 2x2
    et G ?
    Ne serait-il pas 1x2 ?
    Si oui, ne faudrait-il pas qu'il soit plutôt 2x1 ?
    Règles du Forum

    Adepte de la maïeutique

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    G est de dimension 2x1.

    En fait, comme x est une liste, M est bien de dimension 2x2, mais il existe une version de M pour chaque valeur x(i), c'est ça le souci...

    C'est justement cette dépendance en x que je cherche à obtenir;
    je pense que j'arriverais à résoudre le système si M était constante en x, mais là je ne vois pas comment intégrer la dépendance dans le système pour le résoudre.

    Des idées?

Discussions similaires

  1. Problème résolution ODE 45 d'une équation diff
    Par Djeu Kuru dans le forum MATLAB
    Réponses: 2
    Dernier message: 17/05/2013, 15h39
  2. Réponses: 8
    Dernier message: 05/05/2010, 17h39
  3. Réponses: 4
    Dernier message: 16/03/2010, 14h34
  4. Réponses: 1
    Dernier message: 20/03/2007, 09h27
  5. Réponses: 2
    Dernier message: 05/10/2004, 22h43

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