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

[Matlab] graphe depuis l'éditeur



  1. #1
    invite5d061642

    [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
    invite43901482

    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
    invite5d061642

    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
    invitebf26947a

    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)

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

    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 !!

  7. #6
    invite5d061642

    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
    invite5d061642

    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
    invite1c6b0acc

    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 ?

  10. #9
    invite5d061642

    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 invitea29b3af3 dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 01/12/2010, 12h12
  4. Lancer un script php depuis matlab
    Par invitea29b3af3 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