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 :

Cannot write value: unsupported class cell


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Enseignant Chercheur
    Inscrit en
    Décembre 2011
    Messages
    172
    Détails du profil
    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Décembre 2011
    Messages : 172
    Par défaut Cannot write value: unsupported class cell
    bonjour
    j'ai pas compris quel est l'erreur dans mon code et pour quoi WRITE ne supporte pas les tableau de cellules comme argument!!
    voila l'erreur:
    ??? Error using ==> fwrite
    Cannot write value: unsupported class cell
    Error in ==> App at 74
    fwrite(fid, [sic  sipa]', 'double');
    voila le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    for i=1:a
    s1=trait1(Y);
    s2=trait1(X);
    sic{i}=s1;
    sipa{i}=s2;
    clear s1 s2
    fid = fopen([num2str(i) '.bin'],'w');
    fwrite(fid, [sic  sipa]', 'double');
    clear  sic sipa;
    fclose(fid);
    end

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Par défaut
    Bonjour,
    Citation Envoyé par syki.mail Voir le message
    pour quoi WRITE ne supporte pas les tableau de cellules comme argument!!
    Tout simplement parce que ce n'est pas prévu avec fwrite:
    Citation Envoyé par la doc de fwrite
    fwrite(fileID, A, precision)
    ...
    A Numeric or character array.
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  3. #3
    Membre très actif
    Enseignant Chercheur
    Inscrit en
    Décembre 2011
    Messages
    172
    Détails du profil
    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Décembre 2011
    Messages : 172
    Par défaut
    Citation Envoyé par magelan Voir le message
    Bonjour,

    Tout simplement parce que ce n'est pas prévu avec fwrite:
    bonjour
    alors comment je peux enregistrer mes données?

  4. #4
    Invité
    Invité(e)
    Par défaut
    En passant à fwrite un tableau simple au lieu d'un tableau de cellules.

  5. #5
    Membre très actif
    Enseignant Chercheur
    Inscrit en
    Décembre 2011
    Messages
    172
    Détails du profil
    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Décembre 2011
    Messages : 172
    Par défaut
    Citation Envoyé par Winjerome Voir le message
    En passant à fwrite un tableau simple au lieu d'un tableau de cellules.
    j'ai essayer de changer mon code mais j'obtiens cette erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ??? Error using ==> ctranspose
    Transpose on ND array is not defined.
     
    Error in ==> ess at 14
       fwrite(fid, [sic spa]', 'double');
    Ceci est a cause d'utilisation de transposition de tableau qui est une nécessité pour moi lors de lecture a partir de fichier.
    vola le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    A(2:4,2)=8;  A(3,3)=13;
    B(2:4,2)=7;  B(3,3)=73;
    sic=[];
    sipa=[];
    for j=1:2
      for i=1:3
       sic(:,:,i)=A;
       sipa(:,:,i)=B;
      end
       fid = fopen([num2str(j) '.bin'],'w');
       fwrite(fid, [sic sipa]', 'double');
       clear  siftacc siftspa;
       fclose(fid);
    end
    est ce que je peux trouver une autre forme de:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sic(:,:,i)=A;
       sipa(:,:,i)=B;
    peut être ça peut résoudre mon problème.
    Remarque: je dois garder des deux boucle, le code juste un exemple réduit.

  6. #6
    Membre Expert
    Avatar de tug83
    Homme Profil pro
    MATLAB Geek !
    Inscrit en
    Juin 2006
    Messages
    1 781
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : MATLAB Geek !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 781
    Par défaut
    Citation Envoyé par syki.mail Voir le message
    est ce que je peux trouver une autre forme de:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sic(:,:,i)=A;
       sipa(:,:,i)=B;
    peut être ça peut résoudre mon problème.
    Remarque: je dois garder des deux boucle, le code juste un exemple réduit.
    yes you can! :


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

Discussions similaires

  1. sarg "Failed to save log source options : Cannot write to directory"
    Par neila7 dans le forum Applications et environnements graphiques
    Réponses: 5
    Dernier message: 13/10/2016, 16h47
  2. Réponses: 3
    Dernier message: 05/04/2007, 10h05
  3. Cannot get value for expression
    Par MAKNI dans le forum JSF
    Réponses: 9
    Dernier message: 20/02/2007, 11h02
  4. Réponses: 3
    Dernier message: 19/10/2006, 21h51
  5. Réponses: 3
    Dernier message: 19/03/2006, 09h10

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