[Matlab] graphe depuis l'éditeur
Répondre à la discussion
Affichage des résultats 1 à 9 sur 9

[Matlab] graphe depuis l'éditeur



  1. #1
    OdeliaSG

    [Matlab] graphe depuis l'éditeur


    ------

    BSD

    Bonjour,

    J'ai construit quelques fonctions dans l'éditeur de Matlab (fichiers .m) et j'ai besoin d'en faire un graphe; seulement, quand je tape:

    >> plot(x,@ex3q1,'r',x,@ex1q3a,'g ',x,@ex3q1b,'b')

    Matlab répond:

    Error using plot
    Conversion to double from function_handle is
    not possible.


    Est-ce que quelqu'un comprend et peut m'expliquer où est l'erreur? Ou bien me diriger pour obtenir mon graphe d'une autre façon?
    ex3q1, ex3q1a et ex3q1b sont mes fonctions.
    Merci

    -----

  2. #2
    fred1599

    Re : [Matlab] graphe depuis l'éditeur

    Je connais pas matlab, mais je dirais au vu de ce que j'ai vu sur le net

    plot(x,@ex3q1(x),'r',x,@ex1q3a (x),'g ',x,@ex3q1b(x),'b')

  3. #3
    OdeliaSG

    Re : [Matlab] graphe depuis l'éditeur

    BSD

    Merci, j'ai bien essayé, mais alors il affiche:

    plot(x,@ex3q1(x),'r',x,@ex1q3a (x),'g',x,@ex3q1b(x),'b')
    |
    Error: Unbalanced or unexpected parenthesis or
    bracket.


    Apparemment, il ne comprend pas pourquoi j'ai ajouté ce x entre parenthèses.
    D'autres suggestions?

  4. #4
    deyni

    Re : [Matlab] graphe depuis l'éditeur

    Ce message veut dire qu'il manque des parentheses dans tes trois fonctions.
    Afin de se debugger, utiliser d'abord les subplot, ou coupe tes affichages(hold on)
    Deynid'oiseaux partout !! :rire:

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

    Re : [Matlab] graphe depuis l'éditeur

    BSD

    Ok, selon mes différents essais, je pense que je devrais tout expliquer depuis le début et j'aurais besoin de quelqu'un qui s'y connaisse bien:

    La 1e fonction apparaît dans l'éditeur comme suit:

    function res = ex3q1( E )
    F=@(x,y)[y(2);(x^2-2*E)*y(1)];
    options=odeset('RelTol',1.e-4);
    [T,Y]=ode45(F,[0,5],[1;0],options);
    res=Y(end,1);
    end


    Quand je tape dans Matlab:

    >> plot(x,@ex3q1(x),'r')

    il répond:

    plot(x,@ex3q1(x),'r')
    |
    Error: Unbalanced or unexpected parenthesis or
    bracket.


    Et si j'enlève l'@:

    Error using vertcat
    Dimensions of matrices being concatenated are
    not consistent.

    Error in ex3q1>@(x,y)[y(2);(x^2-2*E)*y(1)]
    (line 2)
    F=@(x,y)[y(2);(x^2-2*E)*y(1)];

    Error in odearguments (line 88)
    f0 = feval(ode,t0,y0,args{:}); % ODE15I sets
    args{1} to yp0.

    Error in ode45 (line 114)
    [neq, tspan, ntspan, next, t0, tfinal, tdir,
    y0, f0, odeArgs, odeFcn, ...

    Error in ex3q1 (line 4)
    [T,Y]=ode45(F,[0,5],[1;0],options);


    Je comprends de là qu'il y a quelque chose à changer dans la fonction elle-même, mais quoi?
    Cette fonction a été construite pour résoudre un problème d'oscillateur harmonique, mon problème ne concerne que le graphe.

    Merci !!
    Dernière modification par OdeliaSG ; 31/01/2013 à 12h10.

  7. #6
    OdeliaSG

    Re : [Matlab] graphe depuis l'éditeur

    BSD

    Re-bonjour,
    finalement, j'ai trouvé un moyen:

    Dans l'éditeur, avant end, il faut programmer le graphe:

    plot(T,Y(:,1))
    axis([-8 8 -1 1])


    Merci quand même

  8. #7
    OdeliaSG

    Re : [Matlab] graphe depuis l'éditeur

    Citation Envoyé par OdeliaSG Voir le message
    BSD

    Re-bonjour,
    finalement, j'ai trouvé un moyen:

    Dans l'éditeur, avant end, il faut programmer le graphe:

    plot(T,Y(:,1))
    axis([-8 8 -1 1])
    puis dans Matlab, taper >> ex3q1(5/2) lorsaue 5/2 est la valeur de E.

  9. #8
    Chanur

    Re : [Matlab] graphe depuis l'éditeur

    Bonjour,
    Je ne connais pas Matlab, mais je trouve très étrange la syntaxe :
    [T,Y]=ode45(F,[0,5],[1;0],options);
    Tu es sûr que tu dois avoir [0,5] avec une virgule et [1;10] avec un point-virgule ?
    Ce qui se conçoit bien s'énonce clairement ; et les mots pour le dire arrivent aisément.

  10. #9
    OdeliaSG

    Re : [Matlab] graphe depuis l'éditeur

    BSD

    Il me semble que ca n'importe pas vraiment.

Discussions similaires

  1. graphe matlab
    Par invite62557ceb dans le forum Programmation et langages, Algorithmique
    Réponses: 0
    Dernier message: 12/04/2012, 00h21
  2. graphe de fonction sur matlab
    Par invite5098bf5f dans le forum Logiciel - Software - Open Source
    Réponses: 7
    Dernier message: 13/04/2011, 16h01
  3. Matlab problème graphe en barres (fonction bar)
    Par fiatlux dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 01/12/2010, 12h12
  4. Lancer un script php depuis matlab
    Par fiatlux dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 06/11/2010, 15h28
  5. [R ou matlab] graphe avec coordonnees circulaires
    Par gorben dans le forum Logiciel - Software - Open Source
    Réponses: 5
    Dernier message: 29/09/2010, 17h57