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 :

Calcul de centre de gravité d'une matrice


Sujet :

MATLAB

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 9
    Points : 3
    Points
    3
    Par défaut Calcul de centre de gravité d'une matrice
    Bonsoir a tous
    afin de faire un programme pour une classification j'aimerais savoir s'il y a une commande sous Matlab qui calcule le centre de gravité d'une matrice
    par exemple j'ai trois classes

    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
    37
    38
    39
    40
    41
    42
     
    C1 =
        0.2000    5.8000    1.0000    9.4000
        1.3000    5.9000    0.1000    9.7000
        0.1000    7.8000    0.3000   12.6000
        1.0000    6.7000    3.1000   10.4000
        1.0000    9.9000    4.5000    2.0000
        2.2000   13.5000    5.2000    5.0000
        0.1000   11.5000    3.2000   13.1000
        0.2000    5.6000    1.0000   12.1000
        0.2000    7.3000    7.1000   24.4000
        0.3000    5.8000    0.1000   18.4000
        0.4000    6.3000   11.0000   12.5000
     
    C2 =
     
        6.0000  159.0000   70.9000   19.0000
        2.2000   42.1000   42.0000   27.0000
        3.6000  126.8000   58.0000   25.0000
        3.0000   68.8000   39.5000    6.6000
        2.2000   74.9000   20.0000    6.2000
        1.6000   58.9000   18.0000    5.5000
        2.9000   85.8000   36.5000   25.1000
        3.5000   81.7000   42.5000   16.0000
        1.9000   58.8000   50.5000   20.2000
     
    C3 =
     
        2.6000   46.9000   23.5000   33.0000
        1.1000   33.1000    8.0000   17.9000
        1.1000   33.8000    4.4000   11.3000
        2.5000   24.2000   17.0000   15.0000
       -0.2000   15.3000    2.1000   17.0000
        1.4000   14.4000    5.7000    6.1000
        1.0000   25.8000   22.4000    2.5000
        1.7000   36.8000    8.5000    8.0000
        1.0000   14.9000    3.7000    2.3000
        3.3000   90.9000   46.8000   17.0000
        2.2000   23.2000   20.9000    0.2000
        2.1000   36.8000   12.8000    7.2000
        1.0000    8.2000    3.0000    5.6000
        1.6000   26.9000    9.0000    5.5000
    j'aimerais calculer les 3 centres de gravités pour une deuxième affectation
    Merci pour votre aide

  2. #2
    Membre éclairé
    Homme Profil pro
    Doctorant automatique
    Inscrit en
    Janvier 2012
    Messages
    446
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Doctorant automatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 446
    Points : 719
    Points
    719
    Par défaut
    Bonjour,

    Je n'ai jamais entendu parler de "centre de gravité d'une matrice"... donc, pour l'instant, je ne sais pas si une telle fonction existe déjà.

    Peux-tu expliquer en quoi ça consiste ?

    Cordialement,

  3. #3
    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
    Bonjour,

    Le centre de gravité d'un nuage sera donné par la fonction mean qui travaille coordonée à coordonnée.
    Comme le fait remarquer Tachmou, il faudra prendre la moyenne suivant la bonne dimension, selon la manière dont tu as agrégé tes points en une matrice.

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Merci pour vos réponses

    @tachmou
    comme a dit VV33D en fait je veut calculer le centre de gravité du nuage de point de chaque classe ,et la chaque individu est représenté par 4 variables

    @VV33D
    donc je doit faire la moyenne des colonnes dans les trois classes ?
    par exemple le centre de gravité de la classe 1 est mean(C1)

  5. #5
    Membre éclairé
    Homme Profil pro
    Doctorant automatique
    Inscrit en
    Janvier 2012
    Messages
    446
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Doctorant automatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 446
    Points : 719
    Points
    719
    Par défaut
    Bonjour,

    Il va falloir que tu te rendes comptes que ce que tu racontes ne veut strictement rien dire.

    Traduisons tes messages en leur donnant du sens tel qu'il peut être compris par une personne normale :

    afin de faire un programme
    Ici on est sur un forum matlab. Le programme que tu souhaites faire... c'est un script ? Une fonction ? Un gros programme ? Ou quand tu parles de programme tu parles en fait d'un processus ? D'une méthode ? D'un algorithme ?

    pour une classification
    Classification : tu cherches à ordonner des éléments ? Lesquels ? Comment sont-ils définis ? Est-ce une classification classique de nombres ? Ou bien c'est plus complexe ?

    j'aimerais savoir s'il y a une commande sous Matlab qui calcule le centre de gravité d'une matrice
    Le centre de gravité d'une matrice : ça n'existe pas. Personne n'a jamais entendu parler de cela. Réponse à ta question telle qu'elle a été posée à ce moment-là : non il n'existe pas de commande sous Matlab qui calcule le centre de gravité d'une matrice, pour la simple raison que le centre de gravité d'une matrice est une notion qui n'existe pas.

    par exemple j'ai trois classes
    Désolé de te contre-dire : tu m'as donné trois matrices.

    classes
    Voici ce que peut signifier "classes" :
    - les enfants, quand ils vont à l'école, ils se retrouve avec leur camarade dans une "classe"
    - en programmation orienté objet, les objets sont créés via des classes
    - en mathématiques, une classe de fonction est une catégorie de fonction (paire/impaire, continue/discontinue, dérivable/non dérivable)
    - en biologie, etc..........
    - ..........
    - dans ta petite tête égocentrique, ça veut dire quelque chose, et c'est impossible de deviner ce que c'est.

    j'aimerais calculer les 3 centres de gravités pour une deuxième affectation
    Bon, déjà, tes centres de gravités, je ne peux plus les blairer. Ensuite, tu nous parles de "deuxième affectation". Il y en a eu une première ? Quand ? De quelle affectation tu parles d'ailleurs ? L'un de tes amis a été affecté à un travail de directeur d'une entreprise ? Tu vas affecter ta copine à un travail de secrétaire aussi ? C'est ça la deuxième affectation ?

    comme a dit VV33D en fait je veut calculer le centre de gravité du nuage de point de chaque classe
    Je ne sais toujours pas ce que c'est qu'une classe, mais tu veux donc calculer le centre de gravité D'UN nuage de point. Je t'interdit de dire : "le centre de gravité DU nuage de point" tant que tu nous auras pas dit d'où sort ton nuage de point. Par ailleurs, tu nous parles de classes, mais on ne sait toujours pas ce que sont tes classes. Je considère donc que tu parles d'une classe rempli rempli d'étudiants : pour calculer le centre de gravité d'une classe d'étudiant, tu prends la position de chaque étudiant avec leurs poids respectifs, et tu fais la somme pondéré par leur distance de leurs poids pour obtenir le centre de gravité général des étudiants.

    Bon, je m'arrête là, mais la suite ne veut bien évidemment rien dire, encore une fois.

    Ta fainéantise et ton comportement clairement je-m'en-foutiste qui consiste à espérer que les autres vont faire le boulot à ta place, en plus sans leur dire ce que tu cherches à faire ne te dessers pas : tu perds plus de temps à faire ça qu'à en gagner, crois moi. Sois un peu plus respectueux envers les bénévoles qui passent du temps à essayer de t'aider plutôt qu'à croire que le "pain blanc" fonctionne : ça n'a jamais marché, et ça ne marchera jamais.

    J'espère que ce message va te donner la bonne claque dont tu as besoin, et que tu vas te relever de cette fessée en étant fier de l'avoir subi et en faisant les efforts qu'il faut pour prendre le temps d'expliquer clairement ce que tu cherches à faire : tout ce que tu obtiendras, c'est une solution claire à ton problème clair.

    Cordialement,

  6. #6
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    vraiment je ne comprend pas une telle réaction ,j'ai créer tout un programme qui fait la classification K-means ,la classification dans le cadre d'analyse de données la ou je bloque c'est comment calculer un centre de gravité d'un nuage de point c'est tout.

    après je vous remercie pour toutes ces insultes inutiles ,je ne vois pas ou je me suis montré irrespectueux,j'ai juste poser une question avec peut être de la maladresse

  7. #7
    Membre éclairé
    Homme Profil pro
    Doctorant automatique
    Inscrit en
    Janvier 2012
    Messages
    446
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Doctorant automatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 446
    Points : 719
    Points
    719
    Par défaut
    Vas regarder les posts d'autres personnes, et essaye d'y répondre. Tu vas te rendre qu'il y a deux catégories :

    1) Les posts où le demandeur fait un effort visible de présentation de son problème : les solutions sont trouvées en quelques heures.

    2) Les posts où le demandeur balance des mots qui n'ont ni début ni fin : ce genre de personne peut rester bloqué longtemps.

    Jusqu'à mon précédent post, tu rentrais dans la seconde catégorie. Le souci, c'est que comme tu étais incompréhensible au début, la plupart des gens ont laissé tombé ce fil de discussion... et peut-être que parmi ceux-là, il y avait quelqu'un qui aurait pu te répondre. Mais comme il a laissé tombé dès le début, ce volontaire potentiel ne repassera plus ici, donc tu as déjà perdu 90% de tes chances d'avoir ta solution, dès ton premier message.

    Maintenant, suite à ton dernier message, on peut imaginer te placer dans la première catégorie, mais ce n'est pas suffisant : il faut plus de détail.

    j'ai créer tout un programme qui fait la classification K-means ,la classification dans le cadre d'analyse de données la ou je bloque c'est comment calculer un centre de gravité d'un nuage de point c'est tout.
    Très bien, on a enfin mis en avant là où tu sembles bloquer. Cela aurait du être ta première phrase. Te rends-tu seulement compte de toute l'énergie que j'ai du dépenser pour te faire cracher cette phrase ? Pas la peine de me dire merci. Et de rien, ça me fait plaisir. Je sais, je suis quelqu'un d'exceptionnel de bien vouloir passer du temps à expliquer ce genre de chose à quelqu'un comme toi.

    Très bien, donc : on avance. Aurais-tu l'obligeance maintenant de bien vouloir répondre à cette question : comment est défini ton nuage de point ?
    (Par exemple, un point peut être défini par ses coordonnées. Par exemple, les coordonnées dans un plan 2D orthonormé peuvent être des couples de réels (x,y).)

    Tu demandes le centre de gravité : comment sont définis les poids associés à tes points ?
    (Par exemple, si tes points n'ont pas de poids, le centre de gravité correspond au centre géométrique : une simple moyenne suffit donc pour calculer ce centre géométrique.)

    En répondant à ces questions, on va peut-être enfin savoir quel est le mystérieux lien entre tout ça et les matrices que tu nous as donné au tout début... C'est d'ailleurs la question qu'on te pose depuis le début. Je cite :
    Citation Envoyé par VV33D Voir le message
    Comme le fait remarquer Tachmou, il faudra prendre la moyenne suivant la bonne dimension, selon la manière dont tu as agrégé tes points en une matrice.


    Remarque au passage... peut-être aurais tu préféré que ça se déroule comme ça :
    Ta question au début était : "il y a une commande sous Matlab qui calcule le centre de gravité d'une matrice ?" ==> Réponse : Non ==> problème résolu.

  8. #8
    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
    par exemple le centre de gravité de la classe 1 est mean(C1)
    Oui, si chaque ligne est un individu et chaque colonne une variable.

  9. #9
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    @tachmou

    il y avait de la maladresse dans ma question ,je n'ai pas poser ma question correctement

    @VV33D
    merci beaucoup, oui chaque ligne est un individu et chaque colonne une variable , et j'ai résolu le problème grâce a vous.
    j'ai fait la moyenne des colonnes de chaque classes mean(C1), mean(C2) et mean(C3)
    et ça marche

    encore merci pour vos réponses.

  10. #10
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Bravo Tachmou!
    Comme toi, je pense qu'il est essentiel que ceux qui ont des questions à poser les formulent correctement.
    Jean-Marc Blanc

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

Discussions similaires

  1. calcul du centre de gravité d'une image
    Par lucciana dans le forum C++
    Réponses: 14
    Dernier message: 17/02/2011, 16h57
  2. Réponses: 4
    Dernier message: 08/09/2010, 02h35
  3. [Débutant] centre de gravité d'une matrice
    Par camps dans le forum MATLAB
    Réponses: 1
    Dernier message: 28/11/2009, 15h18
  4. Réponses: 1
    Dernier message: 29/04/2007, 23h12
  5. calculer le nombre de colonnes d'une matrice
    Par setsuko974 dans le forum Langage
    Réponses: 5
    Dernier message: 06/02/2007, 23h00

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