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 :

Rose des vents


Sujet :

MATLAB

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Rose des vents
    Bonsoir,
    J'ai besoin pour un projet de dessiner une rose des vents à partir de données météorologiques de vent
    J'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    figure
    rose(force,direction)
    Et j'obtiens :
    Pièce jointe 206178
    Mon problème est que je ne sais pas utiliser les légendes et la configuration des axes,
    J'aimerais que le 0 (représentant le Nord) soit en haut puis pouvoir indiquer les points cardinaux, et ensuite colorier le centre des triangles et changer la couleur en fonction de l'intensité avec une échelle
    J'ai cherché sur l'aide de matlab mais je ne trouve pas ce que je voudrais, et je ne peux pas utiliser les fonctions déjà faites comme 'Wind_Rose' car je ne comprend pas tout...
    Merci de votre aide !

  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 : 53 160
    Points
    53 160
    Par défaut
    Citation Envoyé par loranne Voir le message
    J'aimerais que le 0 (représentant le Nord) soit en haut puis pouvoir indiquer les points cardinaux
    Tu peux t'inspirer des solutions données dans cette discussion : Graphe en polaire décalé

    Pour le reste, peux-tu nous donner un fichier .mat (mis dans une archive zip ou rar) contenant les variables force et direction ?
    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 Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup j'ai essayé avec la 2ème façon du lien que vous m'avez donné (un peu plus simple ^^) et ça fonctionne très bien, mon 0 se trouve en haut de ma figure ! Par contre, je n'ai pas su trouver la ligne qui me permettrait d'indiquer 'Nord' devant ou à la place du 0° ou 'Sud' à la place de 180°

    Je vous met donc en pièce jointes les données que j'utilise, c'est une moyenne pour chaque demi-heure de la force et de la direction du vent en Décembre afin de caractériser le comportement du vent sur une journée
    Je vous remercie de votre aide !
    Fichiers attachés Fichiers attachés

  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 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 : 53 160
    Points
    53 160
    Par défaut
    Citation Envoyé par loranne Voir le message
    je n'ai pas su trouver la ligne qui me permettrait d'indiquer 'Nord' devant ou à la place du 0° ou 'Sud' à la place de 180°
    Par exemple :

    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
    load forcedirection
     
    figure
     
    rose(forcedirection(:,1), forcedirection(:,2))
     
    set(gca, 'CameraPosition', get(gca, 'CameraPosition').*[1 1 -1])
    rotate(findall(gca),[0 0 1],-90)
     
    t = findall(0,'type', 'text');
     
    set(t(1),'string', 'Nord')
    set(t(2),'string', 'Sud')
    set(t(7),'string', 'Ouest')
    set(t(8),'string', 'Est')
     
    delete(t([3:6 9:12]))
    Images attachées Images attachées  
    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)

  5. #5
    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 : 53 160
    Points
    53 160
    Par défaut
    Citation Envoyé par loranne Voir le message
    colorier le centre des triangles et changer la couleur en fonction de l'intensité avec une échelle
    Sur ce genre de graphique, la couleur ne représente pas l'intensité mais le nombre d'éléments comptés (comme avec un histogramme).

    Bref, voici comment ajouter de la couleur :

    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
    load forcedirection
     
    figure
    forcedirection(:,2) = forcedirection(:,2)*pi/180;
     
    [tout,rout] = rose(forcedirection(:,2), 100);
    h = polar(tout,rout);
     
    x = get(h, 'XData');
    x = reshape(x, 4, []);
    y = get(h, 'YData');
    y = reshape(y, 4, []);
    rout = reshape(rout, 4, []);
    delete(h)
     
    hold on
    colormap(parula(max(rout(:))))
    k = 0;
    for n = 1:size(x,2)
        if any(x(:,n))
            k = k+1;
            h(k) = patch('Vertices', [x(:,n) y(:,n)], 'Faces', [1 2 3 4], 'FaceVertexCData', rout(2,n), 'FaceColor', 'flat');
        end
    end
     
    set(gca, 'CameraPosition', get(gca, 'CameraPosition').*[1 1 -1])
    rotate(findall(gca),[0 0 1],-90)
     
    t = findall(0,'Type', 'text');
     
    set(t(1),'string', 'Nord')
    set(t(2),'string', 'Sud')
    set(t(7),'string', 'Ouest')
    set(t(8),'string', 'Est')
     
    delete(t([3:6 9:12]))
    Le code "transforme" les objets Line en objet Patch
    Images attachées Images attachées  
    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)

  6. #6
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup !!
    Je l'ai adapté !
    En fait je m'étais trompée au début quand je traçais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    figure
    rose(force,direction)
    en fait avec la fonction rose, on ne peut pas indiquer la force du vent sur la graphique c'est cela ?
    Donc mon premier graphique ne représente pas les bons résultats de la direction du vent ? mais la force je ne sais pas trop par quel moyen c'est ça ?
    La direction moyenne vraie du vent est celle du dernier graphique que vous m'avez envoyé ?
    Je n'ai pas la fonction 'parula', si je remplace par 'spring' par exemple c'est bon ? C'est juste un changement de couleur c'est ça ?
    Je vous remercie !!

  7. #7
    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 : 53 160
    Points
    53 160
    Par défaut
    Citation Envoyé par loranne Voir le message
    Je n'ai pas la fonction 'parula', si je remplace par 'spring' par exemple c'est bon ? C'est juste un changement de couleur c'est ça ?
    Oui, tu peux aussi utiliser la palette de couleur jet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    colormap(jet(max(rout(:))))
    Citation Envoyé par loranne Voir le message
    en fait avec la fonction rose, on ne peut pas indiquer la force du vent sur la graphique c'est cela ?
    Donc mon premier graphique ne représente pas les bons résultats de la direction du vent ? mais la force je ne sais pas trop par quel moyen c'est ça ?
    La direction moyenne vraie du vent est celle du dernier graphique que vous m'avez envoyé ?
    La fonction rose trace un histogramme en coordonnée polaire.
    Sur la précédente image que j'ai postée, on peut simplement dire qu'un maximum de vents avaient pour direction celle du secteur jaune.
    Le graphique permet de visualiser correctement la direction des vents mais il n'y a aucune infirmation sur leurs intensités.
    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)

Discussions similaires

  1. Réponses: 5
    Dernier message: 16/11/2015, 19h42
  2. Conception BDD gestion des ventes
    Par mimo13 dans le forum Modélisation
    Réponses: 6
    Dernier message: 31/07/2008, 16h46
  3. Affichage d'un inventaire des ventes
    Par demando77 dans le forum Windows Forms
    Réponses: 11
    Dernier message: 26/02/2008, 19h25
  4. [MySQL] Calcul du total des ventes et des consommations
    Par dubitoph dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 19/10/2007, 18h16
  5. Historique des ventes sur 3 années
    Par boux2 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 19/07/2006, 10h18

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