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 :

extraire une variable dans une fonction ODE


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 16
    Par défaut extraire une variable dans une fonction ODE
    Bonjour,

    Dans une fonction ode45, j'ai une variable que je veux afficher
    une fois l'ode tourne.
    Comment appeler cette variable qui se trouve dans un Mfile à partir
    du workspace matlab?

    Disons que ma fonction s'appelle "apple"

    J'ai dans un Mfile:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function dx=apple(t,x)
    .
    .
    .
    G=x(1)*m*x(2)
    dx=[dx(1);dx(2)]
    Ensuite quand je veux extraire la variable G, biensur elle n'est pas
    connue. Je ne sais pas comment l'appeler car apple, je ne peux
    l'appeler que pour faire tourner l'ode45.

  2. #2
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 16
    Par défaut
    Déjà pour une n'importe quelle fonction, comment peut on appeler
    une variable?

  3. #3
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Par défaut
    Salut,

    Que veux-tu faire exactement?
    tu veux afficher G pendant que ode45 tourne? après que ode45 ait terminé?

    Je ne comprends pas ton deuxième message...

    Sinon en général pour récupérer la valeur d'une variable, on la passe en argument de sortie d'une fonction (function [sortie1,sortie2,sortie3] = mafunction()) mais j'imagine que pour la fonction ode45, ta fonction apple doit avoir une syntaxe particulière, non?
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  4. #4
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 16
    Par défaut
    Exactement elle a une syntaxe particulière ce qui fait que si je l'appelle c'est juste pour la faire tourner (donc intégrer le x)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [T,x]=ode45(@apple,[0 100],x0)
    je n'ai même pas accès à apple (qui est la fonction contenant G)

    Or j'ai besoin de G en même temps que l'ode tourne, car elle est
    fonction de x.

    J'espère que je me suis bien expliquée.

    Et même quand je fais plot (G) à l'intérieur de apple ça ne marche pas

  5. #5
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Par défaut
    Citation Envoyé par Sarra_ Voir le message
    et même quand je fais plot (G) à l'intérieur de apple ça ne marche pas
    Peux-tu être plus précis? pourquoi ça ne marche pas?
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  6. #6
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 16
    Par défaut
    Quand je mets:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    figure(1)
    plot(G)
    à l'intérieur de la fonction apple, y'a rien, c'est à dire que la
    figure ne se crée pas, et sans message d'erreur!

Discussions similaires

  1. Récupérer le nom d'une colonne d'une table dans une variable
    Par mimi51340 dans le forum Général Java
    Réponses: 4
    Dernier message: 13/03/2008, 14h23
  2. Réponses: 4
    Dernier message: 29/01/2008, 11h12
  3. [MySQL] Extraire des variables dans une variable
    Par kryogen dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 23/10/2007, 09h20
  4. Réponses: 1
    Dernier message: 15/02/2007, 00h24
  5. Mettre une valeur d'une table dans une variable
    Par Raphou96 dans le forum Access
    Réponses: 5
    Dernier message: 06/02/2006, 15h19

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