Writing 3D data into text files

I want to write my 3D data in separate text files, my data matrix has dimensions = 8x256x32. I want to write 8 separate files, all having 256x32 data values. how can I do this? Kindly help me with the following code:
[a,b,c]=size(sig);
for x = 1:8
filename = ['signal' num2str(x) '.txt'];
for y = 1:256
for z = 1:32
dlmwrite(filename,sig(x,:,:),'delimiter','\t')
end
end
fclose(filename);
end
thank you.

5 Comments

When you write this matrix 256X32, data will be disturbed from 8X256 matrix.....is it okay?
Stephen23
Stephen23 on 18 Oct 2017
Edited: Stephen23 on 18 Oct 2017
You provide a 3D array to dlmwrite, with size 1x256x32. You need to provide a matrix.
@KSSV, I want to write 8 separate files of 256x32 data matrix. @Stephen Cobeldick, how can I pass a matrix when I have 3D data, do I need to squeeze the data first and later write the file?
I suggest you to write whole data 8x256x32 into single file......there are formats which support this.
I need these file to be ported to visual C, I need them as this. I don't need single file. thanks for assistance

Sign in to comment.

Answers (1)

Jan
Jan on 18 Oct 2017
Edited: Jan on 18 Oct 2017
You are talking about 65536 numbers. Text files are useful, if they are read or edited by a human, but nobody will read and understand such a pile of values.
Therefore it would be easier, faster and cleaner to store the values in a binary format using fwrite. This will allow for an easier method to import the data later on also.

1 Comment

okay, I try writing text files for later use.

Sign in to comment.

Asked:

on 17 Oct 2017

Commented:

on 18 Oct 2017

Community Treasure Hunt

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

Start Hunting!