Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

Matlab et les ode



  1. #1
    ti_ouf

    Matlab et les ode


    ------

    bonjour à tous
    j'aimerais tester la methode de résolutiond es ode avec la commande ode23 ou ode45, mais sans succes!
    je 'narrive pas d'avoir des erreurs !!!arfff
    même lorsque je copie un exemple donné dans des tutos j'ai des erreurs çà commence à bien faire grrrrr!

    si quelqu'un peut m'aide parce que la je planche à fond

    voilà, j'ai ma fonction dans un fichier distinct :

    function ff= kutta(t,y)
    ff= -0.1*(y-10);
    end

    et ensuite dans un autre fichier j'ai ceci :

    tinitial=0;
    tfinal=60;
    yinitial=100;

    [t y]=ode45(kutta,[tinitial tfinal],yinitial);

    plot(t,y)

    mais j'ai droit à ces message d'erreur :
    ??? Input argument "y" is undefined.

    Error in ==> kutta at 2
    ff= -0.1*(y-10);

    Error in ==> trace at 5
    [t y]=ode45(kutta,[tinitial tfinal],yinitial);


    je sais bien que y n'est pas définis, c'est justement pour çà que j'aimerais le définir

    -----

  2. Publicité
  3. #2
    jarmee

    Re : Matlab et les ode

    Bonjour ti_ouf

    je crois que tu te trompe dans une command de

    "
    [t y]=ode45(kutta,[tinitial tfinal],yinitial);
    "
    à kutta ; tu essaie de taper soit @kutta ; soit 'kutta'

    sinon tu peux regarder dans le "help" par taper help ode45

    Bon continu alors

  4. #3
    ti_ouf

    Re : Matlab et les ode

    visiblement un problème de version, entre la 4 et la 6.
    en version 6, on tappe effectivement le prefixe @ pour l'appel de la fonction.

    un truc qui me chagrine,c'est que le tracé ne me donne pas une solution satisfaisante, j'ai fait plusieurs methodes (*3), la premiere en traçant tout simplement ma solution annalytique, que j'ai trouvé (sur papier), l'autre en utilisant la methode de résolution d'euler (sous matlab), et pour finir la commande ode45 (donc celle de kunge et kutta), les 2 premiers tracés coincide, le dernier pas du tout ...

    une idée

  5. #4
    ti_ouf

    Re : Matlab et les ode

    voilà mon tracé :
    la courbe exponentiel, magenta, correspond aux deux premier tracé, qui se superposent,
    le dernier en bleu est le tracé de la derniere methode avec ode45, une droite affine...

  6. A voir en vidéo sur Futura
  7. #5
    ti_ouf

    Re : Matlab et les ode

    un autre exemple que j'essaie de faire.
    j'ai réussis à trouver quelque chose, en prenant le carré de la vitesse concernant l'equa diff suivante :
    Mais j'ai vraiment du mal dans la methode de résolution sous matlab !!!
    j'utilise la methode d'euler ou je crée une boucle afinc d'affiner le plus possible le pas d'iteration, mais pour la methode ode23 ou ode45, j'avoue que çà donne rien, enfin, si je trace les deux courbes, je tombe pour euler sur un tracé correcte, mais pour ode23, je trouve une droite tengente à la courbe d'euler.
    euler etant sur un intervalle de [0,10] une courbe exponentielle, alors qu'ode est une droite ...

    mon soucis concernant l'intervalle, les deux methode sont dans le même intervalle, mais celle d'euler, étant iterative, à beacoup plus de point dans son intervalle, alors que la methode ode23 n'a pas de pas donc je ne sais pas combien elle en prend.

    tout çà parce que si j'augmente l'intervalle pour la methode ode45, je retrouve une courbe exponentielle, mais en contre partie, ma courbe d'euler est dans les choux, elle est bien sur dépassé par cet intervalle ...

  8. #6
    jarmee

    Re : Matlab et les ode

    salut encore ti_ouf

    oui, ce que tu comprendre ;c'est exact!!! quand tu augmente la nombre d'inteval , ton résultat devient plus précis , comme l'image au dessous




    à gauche c'est avec inteval 10 et celle de droite n_inteval 50
    on peut s'apercevoit que plus de nombre d'inteval augmente , plus la courbe est bien précis
    ; je te demande aussi , avec ta prémière photo , est ce que c'est normal que ,selon l'équation, la pente augmente de façon exponentielle positive tandis que ton équation est négative!!!!
    j'ai un site-web intéressant où tu peux chercher info supplimentaire
    http://gershwin.ens.fr/vdaniel/Doc-L...cviewdeqn.html
    ce lien explique bien l'ODE, tu trouvera la solution pour ton ODE45

    Bon courage
    Dernière modification par jarmee ; 07/01/2008 à 02h13.

  9. Publicité

Discussions similaires

  1. Afficher 10^x pour les TickLabel sous Matlab
    Par flopflop16 dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 27/05/2007, 12h06
  2. MATLAB - Les intégrateurs ODE pour la méthode des lignes
    Par UterP dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 13/05/2007, 13h37
  3. MATLAB (graph3d),comment negliger les complexes?
    Par rapasite dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 29/03/2007, 22h57
  4. [MatLab] Sb2Sl => Matlab classique = pb intégration.
    Par Zangdar dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 03/08/2005, 22h02
  5. menu decodeur fuba ode 450
    Par igorpastis dans le forum Dépannage
    Réponses: 0
    Dernier message: 21/11/2004, 19h56
Découvrez nos comparatifs produits sur l'informatique et les technologies.