如何在matlab中保存多维数组?

时间:2013-03-14 16:27:05

标签: matlab

我有一个数组M=(1000000,12,2,2)

如何将其写入文件以便以后使用?

save('filename.txt','M','-ASCII')

似乎不起作用......

此致

2 个答案:

答案 0 :(得分:3)

为什么不把它保存为mat文件(二进制)?

save('filename.mat', 'M' );

之后你只需加载它

% some code ...
M = [];
load( 'filename.mat' );
% now you have M
% code handling multi-dim M

答案 1 :(得分:2)

1)就像来自@Shai的回答一样,你可以把它保存为mat文件

2)如果你想将它保存为txt文件,你可以这样做:

clear;clc;
M=[1000000,12,2,2];
dlmwrite('a.txt',M); % save M to file--a.txt
type a.txt; % print content in a.txt
M = dlmread('a.txt'); % load content of a.txt to M and then you will have 'M=[1000000,12,2,2]'

3)你也可以使用fopen,fprintf,fclose将矩阵保存到文件中。查看这篇文章:How to save data in .txt file in MATLAB

4)对于您拥有的代码,我进行了测试。有用。我的Matlab版本是R2011b。请再次检查您的代码。我用来测试的代码如下:

clear;clc;
M=[1000000,12,2,2];

save('b.txt','M','-ASCII');

clear;clc;
M = load('b.txt','-ASCII');