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 :

Ecrirer un fichier texte avec les numéros de ligne ? [Débutant]


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 51
    Points : 20
    Points
    20
    Par défaut Ecrirer un fichier texte avec les numéros de ligne ?
    Bonjour, ce doit être tout simple mais je ne trouve pas comment faire.

    Je fais une opération :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    R=xcorr(xl,xr,'coeff');
    où xl et xr sont des vecteurs ligne.

    Et j'exporte dans un fichier à l'aide de save :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    save('corr.dat','final','-ascii')
    Néanmoins j'aimerais avoir le numéro de ligne dans mon fichier corr.dat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    1     R(1)
    2     R(2)
    3     R(3)
    ....

    Ou bien en gros, l'antécédent de chaque valeur de R, suivi de la valeur de R


    Merci de votre aide!

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 123
    Points : 100
    Points
    100
    Par défaut
    Pourquoi ne pas enregistrer un tableau intermédiaire avec deux colonnes et exporter ce dernier ?
    Pour ceux qui veulent bronzer avec autre chose que des tubes cathodiques : quelques idées de balades !

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 51
    Points : 20
    Points
    20
    Par défaut
    J'ai essayé hier mais j'ai eu une erreur de concaténation.

    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
     
    [x,Fs,bits] = wavread(['2000Hz40.wav']);
     xl = x(:,1);
     xr = x(:,2);
     
    R=xcorr(xl,xr,'coeff');
     
     figure(2)
     stem(R)
     
     [p m]=max(R);
     phase_shift=(m-length(xl))/Fs;
     
     
    x=1:1:length(R); 
     
    final=[x;R]
     
    save('corr2000Hz40.dat','final','-ascii')
    Et l'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ??? Error using ==> vertcat
    CAT arguments dimensions are not consistent.

  4. #4
    Membre actif
    Inscrit en
    Novembre 2006
    Messages
    236
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 236
    Points : 213
    Points
    213
    Par défaut
    tu as essayé au lieu de ?
    MATLAB R2008a - Windows XP 32 bit et Windows Vista 64 bit

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 51
    Points : 20
    Points
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ??? Error using ==> horzcat
    CAT arguments dimensions are not consistent.
     
    Error in ==> findphase2000onefile at 16
    final=[x,R]

  6. #6
    Membre actif
    Inscrit en
    Novembre 2006
    Messages
    236
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 236
    Points : 213
    Points
    213
    Par défaut
    A quoi ressemble R ?
    MATLAB R2008a - Windows XP 32 bit et Windows Vista 64 bit

  7. #7
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 51
    Points : 20
    Points
    20
    Par défaut
    R est la corrélation (avec xcorr) de deux signaux obtenus à partir de 2 fichiers sonores (avec wavread).

    Je pensais qu'il s'agissait simplement d'une fonction comme une autre, mais apparemment pas...

  8. #8
    Membre actif
    Inscrit en
    Novembre 2006
    Messages
    236
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 236
    Points : 213
    Points
    213
    Par défaut
    tu pourrais donner plus de détails sur R ? Classe, Taille, exemple...
    MATLAB R2008a - Windows XP 32 bit et Windows Vista 64 bit

  9. #9
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 51
    Points : 20
    Points
    20
    Par défaut
    Je suis désolé mais je ne saurais pas te donner plus de détails que le code que j'ai posté au dessus (c'est le code en intégralité)...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    [x,Fs,bits] = wavread(['2000Hz40.wav']);
     xl = x(:,1);
     xr = x(:,2);
     
    R=xcorr(xl,xr)
    Plus de détails sur la fonction xcorr :
    http://www.mathworks.com/access/help...ient=firefox-a

  10. #10
    Membre actif
    Inscrit en
    Novembre 2006
    Messages
    236
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 236
    Points : 213
    Points
    213
    Par défaut
    Tu ne peux pas me dire ce qu'est ta variable R ? (mets un breakpoint, regarde le workspace...)

    Je n'ai pas la Toolbox, donc je ne peux pas tester sur ma machine.
    MATLAB R2008a - Windows XP 32 bit et Windows Vista 64 bit

  11. #11
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 51
    Points : 20
    Points
    20
    Par défaut
    R < 292863x1 double>

    min -1
    max 1

  12. #12
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    Vu la taille de R il est étonnant que [x,R] ne fonctionne pas

    Essaye ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    R=rand(292863,1);%taille que tu nous a donné
    x=1:length(R);
    final=[x',R];%concaténation horizontale de 2 colonnes
    final(1:10,:) %pour valider
    Règles du Forum

    Adepte de la maïeutique

  13. #13
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 51
    Points : 20
    Points
    20
    Par défaut
    Merci de vos réponses,

    Caro-Line, collé tel quel dans Matlab ton code fonctionne.

    Néanmoins, je ne comprends pas le "prime" dans final=[x',R] ....

  14. #14
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    Réponse ici : Quelle est la différence entre ' et .' ?

    Le plus simple pour comprendre quelque chose est encore de le tester sur de petits exemples :
    Règles du Forum

    Adepte de la maïeutique

  15. #15
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 51
    Points : 20
    Points
    20
    Par défaut
    Merci beaucoup Caro-Line !

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

Discussions similaires

  1. Ecraser un fichier texte avec les nouvelles données
    Par Dendrite dans le forum VB.NET
    Réponses: 15
    Dernier message: 21/08/2010, 07h49
  2. Réponses: 10
    Dernier message: 25/03/2009, 23h29
  3. Réponses: 4
    Dernier message: 22/11/2008, 08h28
  4. Réponses: 4
    Dernier message: 12/02/2007, 17h48
  5. Lecture fichier texte avec un nombre de lignes à ignorer
    Par TravelMate dans le forum Langage
    Réponses: 20
    Dernier message: 02/08/2006, 11h59

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