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

将数字矩阵保存在二进制文本文件中并在matlab中重新加载,matlab,Matlab,给定一个由整数组成的矩阵M,整个过程的目的是将矩阵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(

给定一个由整数组成的矩阵M,整个过程的目的是将矩阵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

有什么想法吗?

要保存数据,我将使用以下选项:

dlmwrite('TM.txt',M,'\t');
要从文本文件加载,有许多选项。其中一项:

importdata('TM.txt') 

为了以防万一,您可以使用fwrite将二进制数据读写到文件中,而不是创建文本文件。如果使用fwrite编写二进制文件,则需要使用fread进行二进制读取

按照madbitloman的建议,使用dlmwrite编写文本文件。“\t”分隔由制表符写入的值。然后可以通过文本扫描读取


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

可能
加载
保存
?perpos将其保存为二进制文本文件,而不是从文本文件中再次读取,任何信息?内存对我来说非常重要,因此我需要将矩阵保存为二进制文本文件,问题在于重新加载文件并从中读取时,martix会变成另一种形式。你知道吗?