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 :

Tracer un contour plot


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2014
    Messages : 18
    Par défaut Tracer un contour plot
    Bonjour,

    J'essaie de faire un contour plot pour avoir un diagramme comme ceci :

    Nom : rendement-du-moteur-thermique-4.jpg
Affichages : 2932
Taille : 37,1 Ko

    J'ai mes données sous un fichier Excel que j'ai réussi à exporter sans trop de souci.

    Donc voila le code que j'ai écrit :

    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
    clear all;
    close all;
    clc;
     
    EngineSpeed=xlsread('Data.xls','a2:a219');
    Torque=xlsread('Data.xls','c2:c219');
    be=xlsread('Data.xls','al2:al219');
     
     
    figure
    contour(EngineSpeed,Torque,be)
    xlabel('Regime moteur [1/min]');
    ylabel('Couple [Nm]');
     
    shading interp
    colorbar
    Lorsque j’exécute le code il me met cette erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ??? Error using ==> contour at 73
    Z must be size 2x2 or greater.
     
    Error in ==> CartoMoteur at 13
    contour(EngineSpeed,Torque,be)
    Que faut-il que je modifie dans mon code ?

    Je ne comprends pas l'erreur car j'ai le même nombre de variable dans mes colonnes excel.

    Je précise, cette fois ci je suis bien sous matlab

    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Citation Envoyé par Documentation de la fonction contour
    contour(X,Y,Z), contour(X,Y,Z,n), and contour(X,Y,Z,v) draw contour plots of Z using X and Y to determine the x and y values.
    • If X and Y are vectors, then length(X) must equal size(Z,2) and length(Y) must equal size(Z,1). The vectors must be strictly increasing or strictly decreasing and cannot contain any repeated values.

  3. #3
    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
    Les données importées sont sous forme de vecteurs alors qu'il faut des tableaux comme ceux générés par la fonction meshgrid (par exemple)

    Pourrais-tu nous fournir un fichier xls ?

  4. #4
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2014
    Messages : 18
    Par défaut
    Je t'ai mis le fichier un pièces-jointes. Celui-ci est différent, car l'original est trop lourd. Donc j'ai également ré-ecrit quelques détails dans le programme notamment pour l'ouverture :

    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
    clear all;
    close all;
    clc;
     
    EngineSpeed=xlsread('Data.xlsx','a2:a219');
    Torque=xlsread('Data.xlsx','b2:b219');
    be=xlsread('Data.xlsx','c2:c219');
     
     
    figure
    contour(EngineSpeed,Torque,be)
    xlabel('Regime moteur [1/min]');
    ylabel('Couple [Nm]');
     
    shading interp
    colorbar
    L'erreur est la même sauf le nom du fichier que j'ai changer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ??? Error using ==> contour at 73
    Z must be size 2x2 or greater.
     
    Error in ==> Essais at 11
    contour(EngineSpeed,Torque,be)
    Donc d'après ce que je comprends il faut que j'utilise des données sous forme de tableaux avec contour et non sous forme de vecteur ?
    Fichiers attachés Fichiers attachés

  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 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
    Le problème est que le domaine est irrégulier.

    Essaie avec cette contribution : Tricontf by Rich Pawlowicz

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    tri = delaunay(EngineSpeed, Torque);
     
    figure
    subplot(211)
    scatter(EngineSpeed, Torque, 36, be, 'fill')
    title('scatter')
    subplot(212)
    tricontf(EngineSpeed, Torque, tri, be, 5);
    title('tricontf')
    Images attachées Images attachées  

  6. #6
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2014
    Messages : 18
    Par défaut
    Qu'est ce que sa veut dire domaine irrégulier ? Je suis comprends plus rien...

    J'ai téléchargé le fichier tricontf et j'ai 3 fichier en .mat. Dans quel dossier de matlab dois-je les placer ?

  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 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
    Citation Envoyé par amelianna Voir le message
    Qu'est ce que sa veut dire domaine irrégulier ?
    Les points de mesure ne sont pas répartis régulièrement selon l'axe des ordonnées et les bords du domaine ne forme par un rectangle.

    Citation Envoyé par amelianna Voir le message
    J'ai téléchargé le fichier tricontf et j'ai 3 fichier en .mat. Dans quel dossier de matlab dois-je les placer ?
    Ce sont des fichier .m, pas des fichiers .mat. Place-les dans le même dossier que celui qui contient le code que tu as écrit.

Discussions similaires

  1. tracer les contours
    Par Paolo. dans le forum Images
    Réponses: 5
    Dernier message: 07/11/2012, 11h48
  2. [.NET] Contour plot
    Par lorenzofox dans le forum EDI/Outils
    Réponses: 0
    Dernier message: 01/07/2010, 03h30
  3. Tracer des fonctions de contour
    Par Chipounette dans le forum MATLAB
    Réponses: 1
    Dernier message: 24/11/2009, 14h52
  4. Contour plot
    Par k.khaled dans le forum MATLAB
    Réponses: 1
    Dernier message: 09/03/2009, 11h31
  5. [Google Map] Tracer contour d'une région
    Par bressan dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 29/01/2008, 14h36

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