writing a matrix into a .txt file

4 views (last 30 days)
Oded Scharf
Oded Scharf on 13 Feb 2018
Edited: Stephen23 on 13 Feb 2018
I have a matrix of 65x10 and i want to open and write 9 txt files (from 2:10) each named by the first row at its column and contains two columns: the first column is the first column of the matrix (contains str) and the second one is the i'th column of the matrix (contains int) (starting from the second row). Also I need a title for both columns in each file.
Thanks, Oded

Accepted Answer

Stephen23
Stephen23 on 13 Feb 2018
Edited: Stephen23 on 13 Feb 2018
You do not specify what kind of matrix you have, so I will assume that it is a cell array (as a numeric array would not hold string/char data). This code should get you started, please experiment and adapt as required:
P = '.'; % directory path
C = 65x10 cell array
for k = 2:size(C,2)
N = sprintf('column_%d.csv',k);
[fid,msg] = fopen(fullfile(P,N),'wt');
assert(fid>=3,msg)
fprintf(fid,'%s,%s\n',C{1,[1,k]});
tmp = C(2:end,[1,k]).';
fprintf(fid,'%s,%d\n',tmp{:});
fclose(fid);
end
  2 Comments
Oded Scharf
Oded Scharf on 13 Feb 2018
thank you! it really helped
Stephen23
Stephen23 on 13 Feb 2018
Edited: Stephen23 on 13 Feb 2018
@Oded Scharf: I hope that it helps. Please ask if you have more questions. You should also accept the answer that helps to resolve your original question, as this shows to others that your question has been resolved.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!