problem with dlmwrite
Afficher commentaires plus anciens
hi, I have :
aa1=[aa(1) aa(2) aa(3) aa(4) ];
aaseq(i,k2)={aa1};
dlmwrite('d.txt',aaseq);
I got this error:
??? Error using ==> dlmwrite at 112 The input cell array cannot be converted to a matrix.
how solve this problem?
thanks in advance
Réponses (2)
Sean de Wolski
le 6 Déc 2011
0 votes
Don't convert it to a cell array with the {}.
4 commentaires
huda nawaf
le 6 Déc 2011
Sean de Wolski
le 6 Déc 2011
Not with dlmwrite/read.
Sean de Wolski
le 6 Déc 2011
Why note just save it to a matfile:
doc save
?
huda nawaf
le 6 Déc 2011
Walter Roberson
le 6 Déc 2011
0 votes
dlmwrite() cannot write cell arrays, and is very limited in writing text. Please see
4 commentaires
huda nawaf
le 7 Déc 2011
huda nawaf
le 7 Déc 2011
Walter Roberson
le 7 Déc 2011
Remember that when you use that code, you need to explicitly add any commas you want between elements.
I do not recommend using dlmwrite for character data: I only devised the code to do it because someone said it couldn't be done at all and I was feeling contrary.
If you want to write a cell array of strings in delimited form, you should use code such as
fid = fopen('k.txt','wt');
fmt = [ repmat('%s,', 1, size(aaseq,2)-1), '%s\n' ];
fprintf(fid, fmt, aaseq{:});
fclose(fid)
If you want double-quotes to appear around every string field, then modify the fmt line to
fmt = [ repmat('"%s",', 1, size(aaseq,2)-1), '"%s"\n' ];
huda nawaf
le 8 Déc 2011
Catégories
En savoir plus sur Text Data Preparation dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!