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 :

hist peut il afficher des résultats erronés?


Sujet :

MATLAB

  1. #1
    Candidat au Club
    Inscrit en
    Novembre 2010
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 3
    Points : 4
    Points
    4
    Par défaut hist peut il afficher des résultats erronés?
    Bonjour,

    J'utilse la fonction hist pour afficher la fréquence d'occurence de l'autocorrelation et la de la cross-correlation (Gold Code) mais je ne comprends pas pourquoi pour la cross-correlation je n'ai pas de soucis d'affichage alors que pour l'autocorrelation je n'y arrive pas...
    -----------------------------------------
    Routine pour la crosscorrelation:
    %J'ai une fonction qui calcule la CC via
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Camak_sim(w,:),l] = crosscorr(amgold,akgold,N);
    %Puis j'utilise dans le programme "hist" pour afficher l'histogramme des occurences
    %Là tout vas bien puisque j'ai bien un histo de 3 barres représentant les 3 valeurs de crosscorrelation...

    %Par la commande suivante j'affiche bien les 3 valeurs triés, il y a donc concordance.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Crosscorrvals = unique(sort(Camak_sim))'
    -----------------------------------------
    %La routine pour l'autocorrelation est la même, seule la variable change:
    %Ma fonction est donc:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Camam_sim(ac,:),l] = crosscorr(amgold,amgold,N);
    %Là aussi tout vas bien pour l'instant. La commande suivante me donne bien les 4 valeurs d'autoccorrelations attenduent.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Autocorrvals = unique(sort(Camam_sim))'
    %Mais lorsque je veux utiliser la fonction "hist" ca me renvoit n'importe quoi!!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    hist(Camam_sim(:),nb_bin);
    %J'ai essayé de faire varier "nb_bin" entre rien et 2049 mais sans succes! je ne comprends pas...
    %Qui peut m'aider sur ce coup!!! je galère trop là. D'avance merci

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Bonjour,

    difficile de t'aider dans ces conditions : on ne peux pas reproduire l'erreur supposée puisque tu ne montres nous ni ton code ni les données et tu dis que hist affiche n'importe quoi mais on n' a pas la moindre idée à quoi ressemble ce n'importe quoi () (par exemple nous montrer une image du résultat serait un bon début) et tu n'expliques pas ce que tu t'attendais à observer... Est-ce que c'est au niveau de la corrélation ou de l'affichage qu'il y a un problème?

    Si c'est au niveau de l'affichage, tu pourrais peut-être nous donner le contenu de la variable Camam_sim pour l'on puisse faire des tests?
    Si c'est possible tu peux faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    save data.mat Camam_sim
    pour enregistrer le contenu de Camam_sim dans un fichier data.mat puis tu compresses ce fichier Camam_sim.mat dans une archive zip ou rar et tu la joins à ton prochain message.

  3. #3
    Candidat au Club
    Inscrit en
    Novembre 2010
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Merci Magelan...
    Tu as raison, ci-joint dans le fichier ZIP, les fichiers utiles...
    Il y a aussi une copie d'écran où on peut voir dans la command window de matlab:
    -gB: [11 7 6 5 0] Taps du polynome n°2
    -mB: 11 (nb de bit de la m-sequence)
    -NB: 2047 (la longueur de la m-sequence)
    -TapB: 5 (nombres de feedback dans la deuxième m-sequence)
    -Une ligne donnant le résultat du test [rem(m,2) || (mod(m,4)==2)]
    -Le résultat théorique des 3 valeurs de crosscorrelation (-0.0318, -0.0005, 0.0308).
    -Le resultat de la simulation de la crosscorrelation trié par uniques valeurs contenu dans la matrice Camak_sim (-0.0318, -0.0005, 0.0308).
    -Le welch bound (Cmax)
    -Le resultat de la simulation de l'autocorrelation trié par uniques valeurs contenu dans la matrice Camam_sim (-0.0318, -0.0005, 0.0308, 1.0000).
    -Les deux graphes après la commande 'hist'. Le premier est le résultat du fichier Camak.dat, et le deuxième du fichier Camam.dat, tout deux ci-joint.

    On voit bien que le graphe du haut reprend bien les 3 valeurs de la crosscorrelation, alors que celui du bas n'a de correct que la première barre et la dernière du graphe pendant que les deux du milieu sont fausse. On peut voir dans la command history que j'ai essayé de changer le nombre de Bins, mais sans succès pourtant.

    Donc le but est d'afficher la frequence d'occurence des 4 valeurs possibles d'autocorrelation de Camam_sim par la commande 'hist', comme je l'ai fais pour la crosscorrelation Camak_sim.

    Merci d'avance
    Fichiers attachés Fichiers attachés

  4. #4
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Merci d'avoir donner tout les détails. Par contre je ne comprends pas pourquoi tu dis que l'affichage est faux, à mon avis, c'est juste un problème d'ordre de grandeur de tes données qui rend difficile l'affichage dans le cas de l'autocorrélation.

    Pour la cross-corrélation, tu as 3 valeurs qui varient entre ~-0.03 et 0.03.

    Pour l'auto-corrélation, tu as 3 valeurs très proches aussi entre ~-0.03 et 0.03 et une autre valeur à 1. Donc soit tu augmentes considérablement ton nombre de bins et tu obtiens des barres très fines (par exemple avec 10000 bins) soit inversement, tu diminues ce nombre de bins et tu obtiens des barres épaisses. Mais je ne vois pas en quoi les barres du milieu sont fausses?

  5. #5
    Candidat au Club
    Inscrit en
    Novembre 2010
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 3
    Points : 4
    Points
    4
    Par défaut [RESOLU] [hist] dans le cas de l'autocorrelation
    Merci Magelan...
    En effet je n'avais pas augmenté suffisamment le nb de bins... A trop être dans son code on ne le voit plus!
    Merci beaucoup

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

Discussions similaires

  1. Afficher des résultats
    Par sepehr_gsfc dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 31/03/2009, 16h19
  2. [MySQL] Requête donnant des résultats erronés
    Par Equinoxe5 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 30/03/2009, 16h01
  3. Réponses: 0
    Dernier message: 12/03/2009, 01h53
  4. [MySQL] Afficher des résultat sous form de tableau invisible ?
    Par tentsuken dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 01/01/2008, 16h18
  5. Afficher des résultats en fonction d'une valeur de liste
    Par subnox dans le forum VBA Access
    Réponses: 13
    Dernier message: 14/08/2007, 12h54

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