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'équations différentielles couplées


Sujet :

MATLAB

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 11
    Points : 7
    Points
    7
    Par défaut Résolution d'équations différentielles couplées
    Bonjour à tous,

    tout d'abord je m'excuse pour mon pseudo moche mais c'est la première chose qui m'est tombé sous les yeux.

    Voilà mon problème. Je dois résoudre un système d'équations différentielles couplées :

    (d/ds)(wz(s)) = (dn/dz)(z(s))
    wz(s) = n(z(s))(dz/ds)

    En gros, n est un pofil d'indice de refraction. S est l'absisse curviligne le long du rayon lumineux qui se propage. et je cherche z(s).

    J'ai essayé de résoudre ça avec les fonctions ode mais c'est vraiment le truc le moins intuitif que je connaisse.

    Merci

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 298
    Points : 886
    Points
    886
    Par défaut
    Salut, bienvenue sur le forum.
    Ton système me parait très bizarre... Tu as des dérivées en z et en s.
    que veut dire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    wz(s) = n(z(s))(dz/ds)
    qu'est-ce dz/ds ? est-ce (dz/ds)(s) ?

    Principe avec ode45, ode23tb etc... : écrire une EDO d'ordre 1 et de dimension N où N est le nombre d'inconnues. Mais il faut que toutes les dérivées soient par rapport à la même variable (soit s, soit z mais pas les deux). Réécrit mieux ton système. Et qu'est-ce que w ? une fonction ? une constante ? Si c'est une fonction, qu'elle est sa variable ?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    merci de m'avoir répondu : j'essai désormais un truc plus simple :
    comment peut ton réoudre
    y'(z)=1/sqrt(n(z)^2-1)
    et pouvoir tracer y(z) ???

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    opui j'ai pas spécifié que n(z) est une fonction en dent de scie (que je n'arrive pas à créer mais qui est connu a priori)

  5. #5
    Membre éprouvé
    Avatar de rostomus
    Homme Profil pro
    Doctorant électronique et traitement du signal
    Inscrit en
    Décembre 2006
    Messages
    791
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant électronique et traitement du signal

    Informations forums :
    Inscription : Décembre 2006
    Messages : 791
    Points : 1 205
    Points
    1 205
    Par défaut
    Salut,

    Pour le dent de scie, utilise la fonction sawtooth si tu as le Signal Processing Toolbox.
    pour résoudre cette équation, utilise la fonction ode45 comme il l'a suggéré "salseropom", tu peux voir ici.

    puisque la fonction est simple, tu peux utiliser les fonction anonyme au lieu de créer un fichier ".m":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    fun=@(t,y)1/sqrt(sawtooth(t)^2-1)
    [t,y]=ode45(fun,...............);

    je sens un " divide by zero"
    MATLAB 7.4 (R2007a) WIN XP SP2
    -------------------------------------

Discussions similaires

  1. Résolution d'équation différentielle avec ode45
    Par zed793 dans le forum MATLAB
    Réponses: 2
    Dernier message: 12/05/2009, 13h58
  2. Réponses: 4
    Dernier message: 19/01/2008, 17h33
  3. Résolution d'équations différentielles 3ème ordre ?
    Par MaryAnN76 dans le forum MATLAB
    Réponses: 6
    Dernier message: 09/10/2007, 16h09
  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