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 :

représentation graphique " 4 dimensions"


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 31
    Par défaut représentation graphique " 4 dimensions"
    Bonjour,

    J’ai réuss à avoir, à l’aide de matlab, des données sous forme d’un tableau de 3 dimensions ( trois colonnes (x, y, z)).

    Mon problème, c’est que j’ai un quatriéme vecteur de valeurs ( par exemple représenté par un vecteur à 1 dimension nommé par exemple « error » ).

    J’aimerais faire une représentation graphique qui fait intervenir le vecteur à 3 dimensions (x, y, z) et le vecteur error ensemble. Autrement dit, comment representer graphiquement ( x, y, z, error) ensemble??

    Merci de me conseiler,

  2. #2
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Par défaut
    Bonjour,

    Une solution possible serait de tracer tes points en 3D (avec SURF, PLOT3 ou autre) et de leur attribuer à chacun une couleur qui correspond à l'erreur (la 4°dimension de ton problème).

    Après, il faut voir si la représentation correspond à ce que tu recherches...

    Bonne journée,
    Duf

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2009
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 62
    Par défaut
    bonjour;
    j'ai pas très très bien compris ton problème.
    Mais si tu veux par exemple représenter un cube en 3D, tu peut le faire avec la commande patch mais dans ce cas il faut utiliser 4 variables(x,y,z,t) au lieu de trois.
    c'est ça ton problème????

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 31
    Par défaut merci
    Bonjour duf42, telecom85,
    Merci, vos conseils m'ont été très utiles.

    Mes données sont sous forme de 4 vecteurs en colonne. J'ai essayé de travailler avec la commande
    J'ai reussi à transformer les vecteurs (x,y,z) en matrice à l'aide de la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    [x, y, z]=meshgrid(C1, C2, C3);
    p1 = patch(isocaps(x,y,z,V,0.1), 'FaceColor', 'interp','EdgeColor','none');
    p2 = patch(isosurface(x,y,z,V,0.1) ,'FaceColor','red' ,'EdgeColor','None');
    isonormals(x,y,z,V,p2);
    Message erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ??? Error using ==> isocaps
    V must be a 3D array.
    je sais que mon programme n'accepte pas le vecteur V et exige une Matrice V . Mais pourquoi et comment?

    Merci de votre aide!

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2009
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 62
    Par défaut
    salut;
    bon je n'arrive a comprendre ce que tu veux exactement ,
    mais voila un exemple qui te permet de dessiner un cube en (3D), mais pour le faire il faux que tu déclare 4 vecteurs et non pas trois et a l'aide de la commande patch, peut être sa va t'aide .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    X=[0 0 4 4,0 0 4 4,4 0 0 4,4 4 4 4,0 0 4 4,0 0 0 0];
    Y=[0 4 4 0,0 0 0 0,0 0 4 4,0 0 4 4,4 4 4 0,0 4 4 0];
    Z=[0 0 0 0,0 4 4 0,4 4 4 4,4 0 0 4,4 0 0 0,0 0 4 4];
    s=[1 1 1 1,1 1 1 1,1 1 1 1,1 1 1 1,1 1 1 1,1 1 1 1];
    figure
    p=patch(X,Y,Z,s);
    axis([-10 10 -10 10 -10 10]),title('cube initial');%% affichage du cube

  6. #6
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    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 317
    Par défaut
    A ta place, j'utiliserais simplement SURF

    Si tes données sont réparties sur une grille régulière pleine, il suffit d'utiliser RESHAPE pour mettre en forme les 4 vecteurs. Sinon, il faut utiliser GRIDDATA.

    Fais une recherche sur ce forum, nous avons déjà répondu à ce genre de questions...

Discussions similaires

  1. [ODBC] Affichage (représentation) graphique d'une base
    Par Atchoum_002 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 19/09/2005, 15h34
  2. Représentation graphique
    Par libititi dans le forum Composants VCL
    Réponses: 5
    Dernier message: 31/05/2005, 11h05
  3. [conseil logiciel] Représentation graphique d'une BDD
    Par ShinJava dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 27/02/2005, 08h41

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