在二进制文本文件中保存数字矩阵并重新加载它matlab

时间:2015-03-05 23:29:43

标签: matlab

给定矩阵M的intiger数,整个过程的目的是将矩阵M保存到名为TM.txt的二进制文本文件中,而不是重新加载TM.txt文件来读取矩阵M并应用一些过程

M= [1 2 3 4 5;

4 5 6 7 8;

4 6 8 9 9;

8 9 7 6 4]

我确实使用以下方法将M矩阵保存到二进制文本文件中

fileID=fopen('Tm.txt','w');
fwrite(fileID,M);
fclose(fileID);

我使用以下命令重新加载文件:

fileID = fopen('Tm.txt');
M= fread(fileID);

但结果如下:

M =
1
5
6
7
8
4
5
6
7
8
4
6
8
9
9
8
9
7
6
4

任何想法?

2 个答案:

答案 0 :(得分:0)

要保存数据,我会将其用作选项:

dlmwrite('TM.txt',M,'\t');

要从文本文件加载,有很多选项。其中之一:

importdata('TM.txt') 

以防万一,您可以阅读moreeven more

答案 1 :(得分:0)

使用fwrite将二进制数据写入文件,它不会创建文本文件。如果使用fwrite编写二进制文件,则需要使用fread进行二进制读取。

使用dlmwrite,如madbitloman所建议的那样写一个文本文件。 '\ t'分隔制表符所写的值。然后可以通过textscan读取它。

二进制文件占用较少的内存来存储您的值,但在文本编辑器中打开时不易理解。文本文件占用更多空间以保存相同的数字,但在文本编辑器中易于阅读。