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 :

Enregister une matrice sans écraser l'existante


Sujet :

MATLAB

  1. #1
    Candidat au Club
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Octobre 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2015
    Messages : 8
    Points : 3
    Points
    3
    Par défaut Enregister une matrice sans écraser l'existante
    Bonjour,
    J'ai écrit un script qui permet de créer une matrice répondant à mes besoins.
    Mais voilà,
    au début du script j'ai écrit afin que la matrice soit enregistrée dans le fichier D:\FichierMatrice
    et en fin de script j'ai tapé pour la sauver.
    Le problème est qu'à la deuxième exécution du script la première matrice matrice_ini créée est écrasée par la deuxième
    portant le même nom. J'ai cherché sur la faq et le forum mais je n'ai pas vu de solution au problème d'écrasement.
    Pouvez-vous m'aider s'il-vous-plait ?
    Merci.

  2. #2
    Membre actif Avatar de cedd70
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Mars 2012
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2012
    Messages : 154
    Points : 263
    Points
    263
    Par défaut
    Salut
    Moi je fais un truc du genre pour éviter ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for(i=1:5)
       dlmwrite (strcat('mondossier\',num2str(i),'.txt'),matrice_ini,"\n");
    end
    tu auras par exemple 5 fichier
    -1.txt
    -2.txt
    - etc ..

    oublie pas de crer le dossier "mondossier" au préalable

  3. #3
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 318
    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 318
    Points : 52 958
    Points
    52 958
    Par défaut
    Prenez l'habitude d'utiliser fullfile à la place de strcat : Comment concaténer le nom d'un fichier et celui d'un répertoire ?

  4. #4
    Candidat au Club
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Octobre 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2015
    Messages : 8
    Points : 3
    Points
    3
    Par défaut J'obtiens 5 fichiers
    Merci pour les réponses,
    J'ai du utiliser save au lieu de dlmwrite car dlmwrite était invalide et au lieu de .txt j'ai mis .mat
    cela marche mais j'obtiens 5 fichiers 1.mat 2.mat etc d'un coup !
    J'aurais voulu 1.mat puis à l'autre appel du script qui donne une autre matrice 2.mat etc pour ne pas écraser la première.
    Merci si vous voyez une solution.

  5. #5
    Candidat au Club
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Octobre 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2015
    Messages : 8
    Points : 3
    Points
    3
    Par défaut Une idée
    Re bonjour,
    J'ai essayé d'utiliser exist :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if exist('D:\FichierTexte\matrice1_ini.mat')==0
     save('D:\FichierTexte\matrice1_ini.mat');
    else save('D:\FichierTexte\matrice2_ini.mat')
    end
    J'obtiens deux matrices sans écrasement. En refaisant ce genre de condition je peux avoir d'autres fichiers sans écrasement.
    Cependant comment augmenter le nombre de matrices enregistrables ? (n si possible)

    Merci

Discussions similaires

  1. Remplir la diagonale d'une matrice sans boucle FOR-END
    Par francois_S dans le forum MATLAB
    Réponses: 3
    Dernier message: 30/03/2010, 09h32
  2. [Eigen] création d'une matrice sans connaitre à l'avance la taille
    Par bioinfornatics dans le forum Bibliothèques
    Réponses: 0
    Dernier message: 16/02/2010, 22h13
  3. Réponses: 3
    Dernier message: 17/04/2009, 12h32
  4. Réécrire dans une matrice sans l'effacer
    Par jmbonnaz dans le forum MATLAB
    Réponses: 2
    Dernier message: 03/07/2007, 20h45
  5. [VBA-E] Ecrire dans une cellule sans écraser son contenu
    Par skystef dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/02/2007, 16h43

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