problem with dlmwrite
2 views (last 30 days)
Show older comments
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
0 Comments
Answers (2)
Walter Roberson
on 6 Dec 2011
dlmwrite() cannot write cell arrays, and is very limited in writing text. Please see
4 Comments
Walter Roberson
on 7 Dec 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' ];
See Also
Categories
Find more on Text Files in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!