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 :

Ajout nouvelle ondelette


Sujet :

MATLAB

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 97
    Points : 55
    Points
    55
    Par défaut Ajout nouvelle ondelette
    Bonjour,

    Je souhaiterais ajouter une nouvelle ondelette à Matlab.

    Pour cela, j ai un fichier 'test.mat' contenant la nouvelle ondelette (en colonne). Cette ondelette est issue de la fonction "pat2cwav", il s agit donc bien d une ondelette.

    Afin d utiliser cette ondelette pour faire des calculs, je dois l ajouter aux autres ondelettes. J utilise donc la commande suivante qui me donne un beau message d erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    wavemngr( 'add', 'TestOndelette', 'test', 1, ' ', 'test' );
     
    ??? Attempted to access index1(1); index out of bounds because numel(index1)=0.
     
    Error in ==> wavemngr at 437
                k0       = index1(1);
     
    Error in ==> wavemngr at 689
            wavemngr('create');
    Je ne trouve pas d où peut venir cette erreur !

    Quelqu un a t il deja utilisé cette fonction ?

    Merci pour votre aide

  2. #2
    Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 97
    Points : 55
    Points
    55
    Par défaut
    Bonjour à tous,

    Afin d'en savoir plus sur mon problème, j ai parcouru le fichier wavemngr.m pour comprendre d'où venait l erreur. Voici mes aventure dans les entrailles de Matlab :

    Quand on essaie d'ajouter une ondelette à la toolbox, à un moment donné, toutes les ondelettes sont "parcourues" les une après les autres dans une boucle for (reconstruction des ondelettes ? mise à jour de fichiers ?). En fait, les infos sur sur les ondelettes sont récupérées dans des fichiers "wavelets.quelquechose" puis les ondelettes sont regénérées. (option 'create' appellée directement depuis wavemngr.m).

    Plusieurs fichiers dont "wavelets.asc" semblent contenir des infos sur les différentes ondelettes. J'ai aussi remarque la présence d'un fichier .bin qui doit peut etre régénéré après l'ajout d ondelettes. Pour info, ces fichiers sont dans le repertoire d install de Matlab, dans "toolbox" puis "wavelet".

    J'ai testé les commandes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    wavemngr('read')
    wavemngr('read_asc')
    Et là ... surprise, j'ai retrouvé plein d'ondelettes que j avais essayé sans succès d'ajouter auparavant (avec les noms que je leur avait donné).

    Conclusion et solution :

    - restaurer les fichiers contenant les infos sur les ondelettes
    - attention, il y a plusieurs fichiers !

    Il faut donc utiliser les commandes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    wavemngr('restore',0)
    Après cela, les commandes wavemngr('read') et wavemngr('read_asc') me donne seulement les ondelettes classiques.

    En fait, j'ai mal utilisé la commande les premières fois et cela a "pollué" les fichiers associés aux infos sur les ondelettes. Les commandes (memes correctes) suivantes plantaient donc car dans la boucle regénérant chacune des ondelettes, les ondelettes avec des mauvaises infos (a cause des premières commandes mal faites) faisaient planter le code de wavemngr.

    Bilan : attention, si la commande renvoie une erreur, cela peut modifier les fichiers et ensuite faite planter les commandes suivantes meme si elle est correcte ! Et en plus, cela le fera meme après avoir relancé Matlab vu que tout se passe dans des fichiers !

    Comme quoi le meilleur moyen de résoudre son problème est d'aller jeter un oeil directement dans le code source pour comprendre d'où vient plus précisément le problème.

    En espérant en avoir aidé certains

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

Discussions similaires

  1. ajout nouvelle police windows
    Par natbo dans le forum Windows
    Réponses: 1
    Dernier message: 20/02/2007, 11h46
  2. Localisation Ajout nouvelle langue
    Par vinceLeBarbare dans le forum VB.NET
    Réponses: 1
    Dernier message: 30/01/2007, 09h13
  3. Ajout nouvel objet dans JList
    Par sorry60 dans le forum Composants
    Réponses: 2
    Dernier message: 09/12/2006, 22h37
  4. [UBUNTU] Ajout nouvel appel système ?
    Par [Margot] dans le forum Ubuntu
    Réponses: 5
    Dernier message: 11/05/2006, 14h11

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