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 :

Ajouter une échelle d'intensité à des vecteurs vents


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mai 2007
    Messages : 78
    Par défaut Ajouter une échelle d'intensité à des vecteurs vents
    Bonjour à tous.

    J'ai fait un programme qui me permet de tracer la direction des vents sur le golfe de gascogne (fonction quiver).

    Le vecteur vent est tracé à partir de la longitude, de la latitude, de la vitesse zonale du vent (u) et de la vitesse meridionnale du vent(v).
    En fonction de u et de v cela me permet d'avoir la direction du vent.
    Je souhaiterais :
    1) pouvoir redimentionner les fleche pour qu'elles aient toutes la même taille (en gardant l'angle de base qui correspond à la direction du vent)
    2) Je dispose également dans mes données de base de l'intensité du vent. Est t'il possible de mettre un code couleur sur mes fleches en fonction de cette intensité ?

    merci d'avance

  2. #2
    Membre Expert
    Avatar de tug83
    Homme Profil pro
    MATLAB Geek !
    Inscrit en
    Juin 2006
    Messages
    1 781
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : MATLAB Geek !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 781
    Par défaut
    Je pense que ce code répond à tes questions:
    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
    x = rand(5,1);
    y = rand(5,1);
    u = rand(5,1);
    v = rand(5,1);
     
    cmaplength = 10;
     
    cmap  = hsv(cmaplength);
    newplot;
    hold on;
    h = zeros(1,length(x));
    distances = zeros(1,length(x));
    for i=1:length(x);
     h(i) = quiver(x(i),y(i),u(i),v(i));
     distances(i) = norm([u(i), v(i)]);
    end
    hold off;
     
    scaled_dist = 1+round(distances./max(distances(:)).*(cmaplength-1));
     
    for i=1:length(x);
        set(h(i),'Color',cmap(scaled_dist(i),:));
    end

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mai 2007
    Messages : 78
    Par défaut
    merci pour ta réponse,

    Je suis désolé mais je ne comprend pas à quoi sert ce code...je suppose qu'il doit redimensionner mes fleche, mais quand je le lance je n'obtient qu'un graph type x=y...

  4. #4
    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
    Non, ce code se préoccupe plus de la gestion de la couleur.

    Pour en comprendre l'idée, regarde cet autre exemple qui donne une couleur différente par objet Line : Comment associer une couleur unique à chaque courbe tracée ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mai 2007
    Messages : 78
    Par défaut
    Je ne suis pas sure de comprendre...

    Ce que je cherche, c'est gerer ma couleur en fonction d'une intensité de vent et je ne voit pas dans le programme de tug83 une nouvelle variable qui prenne en compte cette intensité...

    Je dois passer à coté de quelque chose...

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mai 2007
    Messages : 78
    Par défaut
    Finalement j'ai changé d'idée et je fais quelque chose de plus simple en superposant aux vecteurs vitesses une colormap correspondant aux intensité du vent.
    J'ai pour cela fais un meshgrid puis un grid data de mes latitude, longitude et intensité (puis colormap). Mon problème maintenant est que les intensités correspondant aux première longitude et latitudes contenues dans ma base de donnée ne s'affichent pas.... (et c'est sur la plupart de ces points que je bosse...)
    Images attachées Images attachées  

Discussions similaires

  1. [WD19] Ajouter une procédure à l'ensemble des champs de saisie
    Par neptunia dans le forum WinDev
    Réponses: 4
    Dernier message: 11/06/2014, 13h36
  2. [Débutant] Projet asp sur VisualStudio - Ajouter une condition en fonction des valeurs d'une colone
    Par yetman333 dans le forum Général Dotnet
    Réponses: 0
    Dernier message: 01/04/2014, 10h05
  3. Combobox Ajouter une valeur a partir des choix
    Par bullrot dans le forum C++Builder
    Réponses: 3
    Dernier message: 23/11/2007, 19h31
  4. Afficher une échelle temporelle sur des graphiques
    Par RKOCOCO dans le forum MATLAB
    Réponses: 2
    Dernier message: 27/07/2007, 14h47
  5. Attribuer une signature +1/-1 à des vecteurs
    Par ecinaj dans le forum Fortran
    Réponses: 1
    Dernier message: 13/12/2006, 09h08

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