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 :

Transformer une matrice en sous-matrices


Sujet :

MATLAB

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 40
    Points : 25
    Points
    25
    Par défaut Transformer une matrice en sous-matrices
    Bonjour,
    j'ai une matrice de base (n*n), je connais les indices pour la diviser en x sous matrices. le problème c'est que je ne sais pas comment générer x noms différents pour les sous-matrices parce qu'ensuite je voudrais les exporter sous excel, donc faire un xlswrite pour chaque sous-matrice créée. je ne sais pas si quelqu'un a une idée. merci.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 52 884
    Points
    52 884
    Par défaut
    Il n'y a apparemment aucun intérêt à subdiviser la matrice nxn.

    Il suffit de mettre les bons indices dans XLSWRITE, non ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    xlswrite('data.xls',A(1:5,1:5))
    xlswrite('data.xls',A(1:5,6:10))
    xlswrite('data.xls',A(1:5,11:15))
    ...
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 40
    Points : 25
    Points
    25
    Par défaut
    oui je comprend bien, le problème c'est que j'aimerais mettre une boucle sur le xlswrite car j'ai plus de 20 sous-matrices et si je n'ai pas de noms de matrice différents j'écraserai celle d'avant

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 52 884
    Points
    52 884
    Par défaut
    Il suffit de paramétrer les indices de la matrice en fonction de l'indice de la boucle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for n =1:3
       xlswrite('data.xls',A(1:5,5*(n-1)+1:5*n))
    end
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 40
    Points : 25
    Points
    25
    Par défaut
    la boucle me donne les sous-matrices mais le nom de la matrice excel est resté le même donc à la sortie j'ai que la dernière réponse (data.xls pour n=3)
    or moi je voudrais
    data1.xls (pour n=1) ; data2.xls (pour n=2) ....

  6. #6
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 52 884
    Points
    52 884
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for n =1:3
       str = sprintf('data%d.xls',n);
       xlswrite(str,A(1:5,5*(n-1)+1:5*n))
    end
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 40
    Points : 25
    Points
    25
    Par défaut
    trop bien !!!! merci beaucoup.

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

Discussions similaires

  1. transformer une colonne txt en matrice
    Par helpme13 dans le forum MATLAB
    Réponses: 2
    Dernier message: 20/11/2013, 22h15
  2. [Débutant] Diviser une matrice en sous matrices
    Par insat2009 dans le forum MATLAB
    Réponses: 5
    Dernier message: 06/12/2010, 13h35
  3. [Débutant] Division matrice en sous matrices
    Par ToPra dans le forum MATLAB
    Réponses: 10
    Dernier message: 03/03/2009, 11h56
  4. Transformer une matrice 255x255 en sous-matrices 8x8
    Par omar-malek dans le forum MATLAB
    Réponses: 3
    Dernier message: 02/04/2008, 17h26
  5. Division d'une matrice en sous matrices
    Par hanane78 dans le forum MATLAB
    Réponses: 4
    Dernier message: 02/05/2007, 18h15

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