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 :

fonction plot3 mode d'emploi


Sujet :

MATLAB

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Octobre 2011
    Messages : 48
    Points : 28
    Points
    28
    Par défaut fonction plot3 mode d'emploi
    Bonjour,

    je veux dessiner une fonction en 3D mais il y a un message d'erreur.

    merci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
     
    % Tsup=0.8;
    % t=[0:0.002:Tsup]
    % f=cosh(t/Tsup)+sinh(t/Tsup)
    % plot(f,'r');
    clc,
    clear all,
    close all, 
    %declaration des constantes
    g=9.8;
    Tsup=0.8;%temps de support
    z=0.8;%hauteur du centre de masse considérée constante pour un modele LIP
    a=10;
    b=1;
    Tc=sqrt(z/g)
    X0=0;
    Y0=0;
    pas=0.03;
    sx=[0.0, 0.3, 0.3, 0.3, 0];%longueur des pas
    sy=[0.2, 0.2, 0.2, 0.2, 0.2];%largeur des pas
    sx(6)=0;
    sy(6)=0;
    %Initialisation
    %Etape2:
    CI1=[-0.2,0.791];
    xi=-0.2;
    yi=-0.2;
    vxi=0.4;
    vyi=0.4;
     
    pxmp=-0.1;
    pymp=-0.1;
    pxprevious=-0.1;
    pyprevious=-0.1;
     
    % xi=zeros(n);
    % yi=zeros(n);
    % vxi=zeros(n);
    % vyi=zeros(n);
    n=5;
    xf=zeros(1,n);
    yf=zeros(1,n);
    vxf=zeros(1,n);
    vyf=zeros(1,n);
     
    L=0.04;
    %t=0.001:pas: ;
    i=1;
    for r=1:n;
        for t=1:pas:1+Tsup
        %selon x:
        xf(1,r)=(xi-pxmp)*cosh(t/Tc)+Tc*vxi*sinh(t/Tc)+pxmp%la valeure finale de la position x du pied (ou la solution selon x)
        vxf(1,r)=((xi-pxmp)/Tc)*sinh(t/Tc)+vxi*cosh(t/Tc)%la valeure finale de la vitesse selon x du pied
        %selon y:
        yf(1,r)=(yi-pymp)*cosh(t/Tc)+Tc*vyi*sinh(t/Tc)+pymp
        vyf(1,r)=((yi-pymp)/Tc)*sinh(t/Tc)+vyi*cosh(t/Tc)
     
    hold on, 
    %subplot(1,2,1),plot(vxf,vyf,'b'), grid on;
    % subplot(1,2,2),
    plot3d(xf,yf,z,'b'), grid on 
     
        end

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 52 882
    Points
    52 882
    Par défaut
    Pourrais-tu prendre l'habitude de nous donner le message d'erreur complet ?

    Sinon, la fonction plot3d n'existe pas dans MATLAB. C'est au mieux une fonction de Scilab.
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Octobre 2011
    Messages : 48
    Points : 28
    Points
    28
    Par défaut
    en fait j'essaye depuis quelque temps d’intégrer cet algorithme sous matlab mais je n'y arrive pas; peut-etre que je ne l'ai tout simplement pas compris.
    pouvez-vous me dire ce que vous avez compris.Nom : kajita.png
Affichages : 150
Taille : 69,5 Ko.

  4. #4
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut
    en fait, pourrais tu prendre en compte la réponse de Dut ??

  5. #5
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Octobre 2011
    Messages : 48
    Points : 28
    Points
    28
    Par défaut
    voici l'erreur que sa me donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ??? Undefined function or method 'plot3d' for input arguments of type 'double'.
    
    Error in ==> trajj at 60
    plot3d(xf,yf,z,'b'), grid on

  6. #6
    Invité
    Invité(e)
    Par défaut
    Comme déjà dit par Dut :
    Citation Envoyé par Dut Voir le message
    Sinon, la fonction plot3d n'existe pas dans MATLAB. C'est au mieux une fonction de Scilab.
    C'est plot3 dans 'd'.

  7. #7
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Octobre 2011
    Messages : 48
    Points : 28
    Points
    28
    Par défaut
    Sa donne la même erreur , je crois que c'est à cause de mon z qui est constant peut-être?

  8. #8
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 52 882
    Points
    52 882
    Par défaut
    Comment peux-tu obtenir le même message d'erreur alors que tu as remplacé plot3d par plot3 ?

    C'est incompréhensible…
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  9. #9
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Octobre 2011
    Messages : 48
    Points : 28
    Points
    28
    Par défaut
    j'ai refait mon code et cette fois-ci j’obtiens des points et non une courbe pourquoi?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    % Tsup=0.8;
    % t=[0:0.002:Tsup]
    % f=cosh(t/Tsup)+sinh(t/Tsup)
    % plot(f,'r');
    clc,
    clear all,
    close all, 
    %declaration des constantes
    g=9.8;
    Tsup=0.7;%temps de support
    Tdbl=0.1;
    z=0.8;%hauteur du centre de masse considérée constante pour un modele LIP
    a=10;
    b=1;
    Tc=sqrt(z/g);
    X0=0;
    Y0=0;
    pas=0.03;
    sx=[0.0, 0.3, 0.3, 0.3, 0];%longueur des pas
    sy=[0.2, 0.2, 0.2, 0.2, 0.2];%largeur des pas
    sx(6)=0;
    sy(6)=0;
    %Initialisation
    %Etape2:
    CI1=[-0.2,0.791];
    xi=-0.2;
    yi=-0.2;
    vxi=0.791;
    vyi=0.791;
     
    pxmp=0;
    pymp=0;
    pxprevious=0;
    pyprevious=0;
     
    n=5;
     
    L=0.04;
    %t=0.001:pas: ;
    i=0;
    for r=1:n;
        for t=i:pas:i+Tsup
        %selon x:
        xf=(xi-pxmp)*cosh(t/Tc)+Tc*vxi*sinh(t/Tc)+pxmp%la valeure finale de la position x du pied (ou la solution selon x)
        vxf=((xi-pxmp)/Tc)*sinh(t/Tc)+vxi*cosh(t/Tc)%la valeure finale de la vitesse selon x du pied
        %selon y:
        yf=(yi-pymp)*cosh(t/Tc)+Tc*vyi*sinh(t/Tc)+pymp
        vyf=((yi-pymp)/Tc)*sinh(t/Tc)+vyi*cosh(t/Tc)
     
    hold on, 
     
    plot3(xf,yf,z,'b'), grid on 
     
        end
     i=t+Tdbl;   
    end

  10. #10
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut
    la fonction plot3 affiche des points
    pour relier ces points, il faut le demander :
    par défaut ils sont reliés ([codeinline]plot3(xf,yf,z)[/codeiline]) mais là tu as écrasé le style par défaut en ne précisant que la couleur. conséquence il n'y a plus de traits

  11. #11
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Octobre 2011
    Messages : 48
    Points : 28
    Points
    28
    Par défaut
    j'ai déjà essayé mais sa donne la même chose (des point).

  12. #12
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Octobre 2011
    Messages : 48
    Points : 28
    Points
    28
    Par défaut
    et quand j’enlève mes boucles voilà ce que sa donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    clear all
    clc
    close all
    %Initialisation
    CI1=[-0.2,0.791];
    g=9.8;
    pas=0.02;
    z=0.8;
    Tc=sqrt(z/g);
    t=0:pas:0.8;
     
    %solution de l'equation dynamique du pendule inverse lieaire avec une hauteur z constante
    x1=CI1(1)*cosh(t/Tc)+Tc*CI1(2)*sinh(t/Tc);
    y1=CI1(1)*cosh(t/Tc)+Tc*CI1(2)*sinh(t/Tc);
     
    %Trace des grahes
    hold on,
    figure(1),plot3(x1,y1,z)

    le message d'erreur est le même qu'avant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ??? Error using ==> plot
    Data must be a single matrix Y or a list of pairs X,Y
    
    Error in ==> troisdtrajectory at 54
    figure(1),plot(x1,y1,z)
    

Discussions similaires

  1. Le grand mode d'emploi du forum, à lire si vous souhaitez tout savoir !
    Par Anomaly dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 2
    Dernier message: 03/06/2013, 17h36
  2. Pas d'appel à une fonction si mode Release
    Par Crisanar dans le forum C++
    Réponses: 8
    Dernier message: 17/09/2005, 04h54
  3. [débutante][Concept] Destruction d'objet, mode d'emploi?
    Par skea dans le forum Général Java
    Réponses: 4
    Dernier message: 12/06/2004, 21h48

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