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 générant un plot


Sujet :

MATLAB

  1. #1
    Membre habitué
    Homme Profil pro
    Ingénieur Photonique
    Inscrit en
    Mars 2013
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Photonique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2013
    Messages : 124
    Points : 126
    Points
    126
    Par défaut Fonction générant un plot
    Bonjour,

    je dois générer très régulièrement des sphères dans mes programmes Matlab. Les lignes de commande pour gérer le plot (set, labels, lim, ...) sont assez importantes (30 lignes). Ce qui a tendance à freiner la lecture d'un programme quand celui-ci est assez long.

    Problème : je souhaite que mes coordonnées (x,y,z) générées par mon programme soient envoyées à une fonction funSphère (par exemple). Cette fonction se chargera de générer une sphère, d'y reporter les points et de renvoyer l'aperçu. Cependant je ne sais pas si c'est possible.

    Détail : J'ai bien vu que la structure d'une fonction est :
    function [out1, out2,...] = Myfunc(in1, in2,...)
    Dans mon cas la partie [out1, out2,...] est mon plot. J'ai donc une difficulté à savoir comment écrire cette ligne de commande.

    Si vous avez des idées où des liens pouvant m'aider je suis preneur. Merci.

  2. #2
    Membre éprouvé
    Inscrit en
    Août 2010
    Messages
    1 124
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 1 124
    Points : 1 277
    Points
    1 277
    Par défaut
    Bonsoir,

    Si Myfunc fait les plots, elle peut renvoyer les handles des objets graphiques construits. Si le but est de les faire plus tard, elle peut renvoyer une fonction qui sera appelé plus tard.
    Exemples
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function [hF,hL]= DrawNow()
    % Dessine et renvoie les handles
    hF= figure;
    hL= plot(1:10,1:10);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function dessinateur= DrawLater(x)
    % Renvoie une fonction chargée du dessin
    dessinateur= @draw_;
    function draw_()
    hF= figure;
    hL= plot(x);
    end
    end

  3. #3
    Membre habitué
    Homme Profil pro
    Ingénieur Photonique
    Inscrit en
    Mars 2013
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Photonique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2013
    Messages : 124
    Points : 126
    Points
    126
    Par défaut
    Merci VV33D,
    mon problème est résolu. J'ai utilisé la méthode avec DrawNow :

    Création de la fonction Myfunc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function [hF,hL] = DrawNow(x,y,z)
    hF = figure;
    [X,Y,Z] = sphere(100)
    hL = surf(X,Y,Z)
    plot3(x,y,z)
    end
    Utilisation de la fonction dans le programme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    a = value1; b = value2; c = value3
    % ici les valeurs a,b,c (dans cet ordre) seront interprétées par Myfunc comme étant x,y,z
    fig = Myfunc(a,b,c)

    Rq : ne pas oublier de mettre le fichier .m de la fonction dans le même dossier que le programme ou dans la bibliothèque matlab.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. fonction by et plot
    Par mathieu_r dans le forum R
    Réponses: 2
    Dernier message: 02/03/2011, 14h01
  2. [Débutant] Legende avec la fonction bar et plot
    Par niepoc dans le forum MATLAB
    Réponses: 2
    Dernier message: 10/07/2008, 13h07
  3. Fonction plot.
    Par swingNJava dans le forum Octave
    Réponses: 2
    Dernier message: 11/10/2007, 17h26
  4. Utilisation de la fonction plot
    Par ramrouma dans le forum MATLAB
    Réponses: 2
    Dernier message: 23/04/2007, 19h49
  5. Plot fonction surf dans plusieurs plans
    Par AppleGuy dans le forum MATLAB
    Réponses: 2
    Dernier message: 30/06/2006, 17h59

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