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 :

Coefficient de corrélation [Débutant]


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 80
    Par défaut Coefficient de corrélation
    Bonjour à tous,
    Dans un projet, afin d'exploiter des données, je dois tracer des courbes. Pour améliorer certaines courbes on m'a demandé de tracer en fonction du coefficient de corrélation, je m'explique : je souhaite construire un programme qui permettrait de comparer la valeur de ce coefficient, au fur et à mesure que la courbe se trace, dès que la valeur du coefficient de corrélation passe en dessous de 0.9 on passe à la valeur suivante.

    Je vous remercie par avance pour votre aide,

    respectueusement

    Vincent

  2. #2
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 80
    Par défaut coefficient de corrélation
    Bonjour à tous,
    Je pense avoir avancé.
    Voici le programme que j'ai tapé pour le moment:

    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
    %% Récupération des valeurs du tableau
     
    val=xlsread('test.xls');
    x=val(:,1);
    y=val(:,2);
     
    %% Initialisation des variables
     
    j=3;
    A=0;
    B=0;
    C=0;
    R=0;
     
    %% Calcul de R 
     
    while R<0.9
        sommex=0;
        sommey=0;
        for i=1:j
            sommex=sommex+x(i);
            sommey=sommey+y(i);
        end
        moyx=sommex/j;
        moyy=sommey/j;
        for i=1:j
            A=A+(x(i)-moyx)+(y(i)-moyy);
            B=B+(x(i)-moyx)^2;
            C=C+(y(i)-moyy)^2;
        end
        R=A^(2)/(B*C);
        j=j+1;
     
        %% Placer le point
     
        plot(x(j),y(j))
    end
    Le problème que je rencontre est que ça ne me trace qu'un seul point.

    Est-ce que quelqu'un voit ce que je pourrai changer ou améliorer ?

    Je vous remercie par avance pour votre aide

    respectueusement

    Vincent

  3. #3
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 885
    Par défaut
    salut

    je te conseilles tout d'abord de définir explicitement la création de ta figure via la fonction figure
    ensuite d'utiliser hold on pour préciser que tous tes plot doivent se superposer et non s'annuler et remplacer

    mais le mieux est surement de construire les vecteurs xr, yr à tracer dans ta boucle puis de les tracer hors de la boucle

    Fabien

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 80
    Par défaut
    Bonjour la fab,
    tout d'abord un grand merci pour votre aide, ce que vous m'avez conseillé semble bien fonctionner,
    lorsque vous parlez de vecteur, vous pensez à, par exemple xr=(4:3:61) ?
    Parce qu'en faite je dois traiter un tableau de plus 5 millions de données,
    est-ce que les vecteurs sont bien approprié pour cette situation (excuse moi je débute en matlab) ?

    Je vous remercie par avance pour votre aide

    Vincent

  5. #5
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 885
    Par défaut
    lorsque l'on écrit plot(x,y) , x et y sont des vecteurs
    on peut donc faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for i = 1:n
    ...
      plot(x(i),y(i))
    end
    (ce que tu as fait)

    ou alors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    xres = [];yres = [];j=0;
    for i = 1:n
    ...
      j = j + 1;
      xres(j) = x(i);
      yres(j) = y(i);
    end
    plot(xres,yres,'b.')
    ca revient au même, c'est juste plus propre
    et ca permet de garder une trace (les vecteurs xres, yres) de ce que l'on a tracer pour d'autres éventuels traitements

  6. #6
    Membre émérite
    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
    Par défaut
    Salut,

    Ce que te conseilles le fab est le meilleur à faire.

    Cependant, tu peux toujours relancer ton application en rajoutant la commande "hold on" entre ton "plot" et ton "end" si tu veux un résultat immédiat.

    Cordialement,

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

Discussions similaires

  1. Coefficient de corrélation intra classe
    Par elvolcano dans le forum SAS STAT
    Réponses: 7
    Dernier message: 25/04/2019, 17h35
  2. Interprétation coefficient de corrélation
    Par Liun971 dans le forum Signal
    Réponses: 2
    Dernier message: 01/07/2008, 08h20
  3. Réponses: 2
    Dernier message: 13/07/2007, 14h59
  4. Coefficient de corrélation exponentielle
    Par Giansolo dans le forum Statistiques, Data Mining et Data Science
    Réponses: 6
    Dernier message: 23/03/2007, 10h58
  5. Coefficient de corrélation
    Par oceanediana dans le forum Access
    Réponses: 7
    Dernier message: 26/07/2006, 07h03

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