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 :

[ODE] Syntaxe avec le symbole @ [Débutant]


Sujet :

MATLAB

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Points : 877
    Points
    877
    Par défaut [ODE] Syntaxe avec le symbole @
    Salut tous,

    je suis un peu en galère avec matlab, je voudrais résoudre un systeme d'equations différentielles et je n'arrive pas à trouver la bonne syntaxe...

    voici mon systeme:
    ==> voir PJ
    voici ma résolution:
    voici comment j'ai fais pour essayer de résoudre mais la syntaxe est mauvais et après pas mal de bidouillage je n'ai pas compris comment faire:
    main.m
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    X1=10; X2=25; X3=4; X4=4;
    G1=0; G2=1; coeffDirecteur=0.5;
    t0=0; tF=100;
    Y1_0=4; Y2_0=10;
    [t, Y] = ode45(@syst(X1,X2,X3,X4,G1,G2,coeffDirecteur,t,Y), [t0 tF], [Y1_0 Y2_0]);
    syst.m
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    function dotY=syst(X1,X2,X3,X4,coeffDirecteur,t,Y)
    dotY=zeros(2,1);
    dotY(1)=X1*Y(1)+X2*Y(2)+G1*fctG(coeffDirecteur,t);
    dotY(2)=X3*Y(1)+X4*Y(4)+G2*fctG(coeffDirecteur,t);
    dotY=dotY';
    end
    fctG.m
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    function G=fctG(coeffDirecteur,t)
    G=coeffDirecteur*t;
    end
    pourriez vous me dire comment modifier ce code pour qu'il fonctionne ? je n'ai pas compris la syntaxe à utiliser

    merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Le prototype de la fonction dont le handle est à passer à ODE45 étant de la forme function myfun(t,y), on aura:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [t, Y] = ode45(@(t,y) syst(X1,X2,X3,X4,G1,G2,coeffDirecteur,t,y), [t0 tF], [Y1_0 Y2_0]);
    Pour plus de précisions, voir Que représente le symbole @?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Points : 877
    Points
    877
    Par défaut
    super! merci beaucoup Jerome

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur de syntaxe avec UPDATE
    Par tyarak dans le forum Requêtes
    Réponses: 3
    Dernier message: 01/02/2006, 02h18
  2. pb de syntaxe avec le "select"
    Par dipajero dans le forum Bibliothèques tierces
    Réponses: 5
    Dernier message: 04/01/2006, 16h40
  3. syntaxe avec un if
    Par cubepiege dans le forum Langage SQL
    Réponses: 17
    Dernier message: 07/11/2005, 19h41
  4. [Tableaux] simple syntaxe avec $_REQUEST
    Par nicerico dans le forum Langage
    Réponses: 3
    Dernier message: 18/10/2005, 17h01
  5. [langage] Pb de syntaxe avec GOTO
    Par BEAUJAULT dans le forum Langage
    Réponses: 2
    Dernier message: 14/10/2004, 17h02

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