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 个评论

When you write this matrix 256X32, data will be disturbed from 8X256 matrix.....is it okay?
Stephen23
Stephen23 2017-10-18
编辑:Stephen23 2017-10-18
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

请先登录,再进行评论。

回答(1 个)

Jan
Jan 2017-10-18
编辑:Jan 2017-10-18

0 个投票

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.

类别

帮助中心File Exchange 中查找有关 Variables 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by