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 :

Load d'un seul champ d'une structure


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Inscrit en
    Novembre 2006
    Messages
    236
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 236
    Par défaut Load d'un seul champ d'une structure
    Bonjour,

    j'ai une structure S, contenant deux champs SA et SB. Je veux charger seulement le champ SA de cette structure.

    Je fais :
    mais ça me renvoit :
    Warning: Variable 'SA' not found.
    Si je fais
    ça me renvoit bien :
    S =

    SA: [1x1 struct]
    SB: [1x1 struct]
    Comment faire pour loader un seul champ de cette structure ?

  2. #2
    Expert confirmé
    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
    Par défaut
    Tu ne peux pas faire ça.
    LOAD te permet éventuellement de ne charger qu'une ou plusieurs des variables du fichier MAT.
    Là l'unique variable contenue dans ton fichier est S, SA n'étant qu'un des champs de la structure.

    Donc :
    - soit tu enregistres ton fichier différemment (ie chaque champ étant une variable séparée : tu peux le faire avec l'option -struct de SAVE)
    - soit tu charges S en entier (cela pose-t-il réellement un problème ?)

  3. #3
    Membre expérimenté
    Inscrit en
    Novembre 2006
    Messages
    236
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 236
    Par défaut
    Citation Envoyé par Caro-Line Voir le message
    Tu ne peux pas faire ça.
    LOAD te permet éventuellement de ne charger qu'une ou plusieurs des variables du fichier MAT.
    Là l'unique variable contenue dans ton fichier est S, SA n'étant qu'un des champs de la structure.

    Donc :
    - soit tu enregistres ton fichier différemment (ie chaque champ étant une variable séparée : tu peux le faire avec l'option -struct de SAVE)
    - soit tu charges S en entier (cela pose-t-il réellement un problème ?)
    ok
    le problème est qu'il s'agit d'une très grosse structure, et présente sur un disque du réseau.
    J'aurais préféré ne charger que ce qui est nécessaire (pour économiser en mémoire et en temps).

    Je vais voir s'il est possible de l'enregistrer différemment (mais j'en doute que ça soit faisable, vu la complexité de l'application).

    Merci !

  4. #4
    Expert confirmé
    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
    Par défaut
    Et bien tu ne le fais qu'une fois :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    load('S.mat')
    save('S_bis.mat','-struct','S')
    clear
    load('S_bis.mat','SA');

  5. #5
    Membre expérimenté
    Inscrit en
    Novembre 2006
    Messages
    236
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 236
    Par défaut
    Ta solution règle le problème de la mémoire, mais pas du temps de chargement, n'est ce pas ?

    Je ne connaissais pas cette option de save ; je vais voir s'il est possible de directement enregistrer S de cette manière, merci beaucoup pour cette info.

    Au fait, sais tu s'il y a des inconvénients particuliers d'enregistrer les champs comme des variables ?

    Merci encore !

  6. #6
    Expert confirmé
    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
    Par défaut
    Citation Envoyé par nahouto Voir le message
    Ta solution règle le problème de la mémoire, mais pas du temps de chargement, n'est ce pas ?
    Ben non c'est juste pour enregistrer une fois sous un format différent, ensuite tu n'auras plus le problème.

    Citation Envoyé par nahouto Voir le message
    Au fait, sais tu s'il y a des inconvénients particuliers d'enregistrer les champs comme des variables ?
    Non je ne pense pas.

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

Discussions similaires

  1. ordre des champs dans une structure
    Par oussema dans le forum C
    Réponses: 8
    Dernier message: 08/03/2007, 18h42
  2. Adresse/offset du champs d'une structure
    Par ludo894 dans le forum C
    Réponses: 29
    Dernier message: 24/01/2007, 10h58
  3. Réponses: 4
    Dernier message: 10/04/2006, 09h28
  4. delete un seule champs d'une table
    Par speedylol dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 17/02/2006, 11h50
  5. Réponses: 2
    Dernier message: 30/06/2004, 13h22

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