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 :

Résolution d'équation différentielle


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 19
    Par défaut Résolution d'équation différentielle
    Bonjour,

    J'ai une équation de la forme du/dz=H(z)*u(z) où u est un vecteur ayant environ 4000 coefficients, H une énorme matrice et u(0)=u0 un vecteur connu.

    J'ai vu dans l'aide de matlab que ce genre d'équation nécessite la création d'une fonction "handle" (par exemple pour ode45), le problème est le suivant: H est une matrice que j'ai crée coefficients par coefficients, pour différents z, en gros j'ai accès à H(z1), H(z2), .... H(z100).

    Comment puis-je résoudre cette équation avec matlab et mes données?

  2. #2
    Membre Expert
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717

  3. #3
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 19
    Par défaut
    Visiblement j'avais mal lu la documentation qui semble résoudre mon problème, même si le temps de calculation sera de plusieurs heures...

    Merci

  4. #4
    Membre Expert
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Par défaut
    qu'as tu fais ?

  5. #5
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 19
    Par défaut
    Pour le moment, j'ai pas encore lancer le programme mais je pense faire quelquchose comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function dy = rigid(t,y)
    dy = zeros(3,1);    % a column vector
    dy(1) = y(2) * y(3);
    dy(2) = -y(1) * y(3);
    dy(3) = -0.51 * y(1) * y(2);
    Sauf que dy va de 1 à 4000, rigid sera définit comme ceci:

    dy(1)=H*y(1), le problème vient du calcul de H à chaque évaluation de dy...

    H est une matrice dont chaque coefficient est un produit de 3 facteurs, dont des coefficients de séries de fourier...

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/01/2008, 17h33
  2. Résolution d'équations différentielles 3ème ordre ?
    Par MaryAnN76 dans le forum MATLAB
    Réponses: 6
    Dernier message: 09/10/2007, 16h09
  3. Résolution d'équations différentielles couplées
    Par DVD-RW dans le forum MATLAB
    Réponses: 4
    Dernier message: 05/06/2007, 19h47
  4. Réponses: 2
    Dernier message: 05/05/2007, 18h22

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