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 :

[surf] Tracer des courbes en 3d lorsque les vecteurs sont trop grands


Sujet :

MATLAB

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut [surf] Tracer des courbes en 3d lorsque les vecteurs sont trop grands
    bonjour, j'aimerai tracer une courbe en 3d avec la commande "surf" ou autre dans le même genre, mais lorsque j'utilise la commande "meshgrid pour créer des matrices, cela devient impossible car l'espace alloué par cette commande est trop grand, que puis-je faire? (plot3 rend la courbe touffue à cause des multiples traits avant et arrière). Merci

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Bonjour,

    es-tu obligé de tracer tous les points de ta surface? ne pourrais-tu pas sous-échantilloner te données? Quelles tailles font tes matrices?
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut taille des vecteurs
    Les trois vecteurs x, y et z sont les vecteurs colonnes de 6000 éléments, la seule méthode que je connaisse pour tracer les surface "surf" est de passer par des matrices "meshgrid". MATLAB refuse d'avance de faire la calcul car la mémoire allouée pour cela est faible devant la taille des matrices.
    Le problème avec "plot3" est qu'il fait apparaitre les courbes en perspective arrière en avant à cause des vides et cela brouille la courbe.
    Donc pour pouvoir utiliser "surf" je passe par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [x,y,z]=meshgrid(x,y,z);
    et c'est là que le calcul coince, comment faire? Y a-t-il une autre méthode ?

  4. #4
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Je crois que tu n'as pas très bien compris le role de meshgrid : cette fonction permet de générer une grille rectangulaire régulière (je te conseille de bien analyser l'exemple disponible dans la doc de meshgrid).

    Maintenant pour pouvoir te répondre, il faudrait que tu nous décrives tes vecteurs x et y : est-ce qu'ils contiennent des données qui forment une grille rectangulaire régulière? Si oui, il suffit de réordonner x, y et z pour utiliser surf, si non, il faudra peut-être passer par une interpolation avec griddata par exemple.
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut résolu
    Merci beaucoup d'avoir attiré mon attention. En effet, pendant le tracer je mélangeais des vecteurs et des matrices sans m'apercevoir, maintenant c'est résolu et enfin j'ai les courbes que je voulais voir.
    merci de ton aide

Discussions similaires

  1. tracer des courbes en opengl???
    Par jollo dans le forum OpenGL
    Réponses: 10
    Dernier message: 28/02/2013, 09h28
  2. truc pour tracer des courbe en temps reel qvec perl tk
    Par mohaz dans le forum Interfaces Graphiques
    Réponses: 5
    Dernier message: 16/06/2009, 16h48
  3. Tracer des courbes
    Par skywaltitou dans le forum MFC
    Réponses: 5
    Dernier message: 27/03/2007, 15h22
  4. Tracer des courbes - GtkCurve
    Par Ange44 dans le forum GTK+ avec C & C++
    Réponses: 1
    Dernier message: 07/08/2006, 14h44
  5. Réponses: 7
    Dernier message: 06/05/2006, 22h51

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