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 :

Dériver une fonction dans une fichier "ode"


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 4
    Par défaut Dériver une fonction dans une fichier "ode"
    Bonjour,
    je cherche à modéliser le fonctionnement d'un laser, qui est décrit par 2 équations différentielles couplées :

    s' = A*g(s,n)-1*s(t)
    n'=B*(J+J_M-n(t)-J*g(n,s)*s

    avec :
    -g(s,n)=1+C*n(t)-D*(s(t)-1)
    -A,B,C,D,J des constantes
    -J_M le courant du laser, qui est ici une constante

    J'utilise la fonction "ode" de matlab, et ca marche très bien.

    Maintenant, je cherche à moduler le courant du laser, de façon à obtenir un certain signal en sortie (c'est-à-dire que J_M n'est plus une constante, mais une fonction). J'ai trouvé la solution mathématique dans une publication :

    J_M=E*(y''+(F*exp(y)+G)*y'+(exp(y)-1)

    avec
    -y(t)=ln(s(t))
    -E,F,G des constantes

    Dans mon fichier "ode", j'ai donc une troisième équation (J_M) qui se sert des dérivées de s(t), que je dois calculer. Mais comme la fonction "ode" travaille point par point, je ne peux pas utiliser la fonction "diff" qui me permettrait de calculer la dérivée : je suis donc bloqué. Existe-t-il un moyen facile de contourner ce problème?

    Si vous avez déjà été confronté au problème, ou si vous avez une idée pour le résoudre, je serais ravi que vous m'en fassiez part. Si vous avez des questions, n'hésitez pas à me les poser. Je vous remercie d'avance pour vos réponses.

  2. #2
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Par défaut
    Salut !

    La dérivation est à proscrire absolument en calcul numérique. Mais si tu arrives là, c'est que tu as tourné ton problème à l'envers. Tu dois considérer y et y' comme des variables d'état et mettre ton système sous forme canonique.

    Jean-Marc Blanc

Discussions similaires

  1. Appel d'une fonction dans une fonction d'une même classe
    Par script73 dans le forum Général Python
    Réponses: 3
    Dernier message: 06/03/2015, 11h18
  2. portée d'une variable dans une fonction dans une méthode
    Par laurentg2003 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2009, 20h05
  3. [Débutant] passage d'une fonction a une autre dans deux fichiers différents.
    Par pompier21 dans le forum Interfaces Graphiques
    Réponses: 9
    Dernier message: 08/12/2008, 11h41
  4. [POO] dans une classe, appeler une fonction dans une méthode
    Par arnaudperfect dans le forum Langage
    Réponses: 3
    Dernier message: 27/08/2007, 00h04

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