3

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

如何将其写入文件以供以后处理?

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

似乎不起作用...

问候,

4

2 回答 2

4

为什么不将其保存为 mat 文件(二进制)?

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

之后你只需加载它

% some code ...
M = [];
load( 'filename.mat' );
% now you have M
% code handling multi-dim M
于 2013-03-14T16:28:46.583 回答
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 将矩阵保存到文件中。查看这篇文章:如何在 MATLAB 中将数据保存在 .txt 文件中

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

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

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

clear;clc;
M = load('b.txt','-ASCII');
于 2013-03-14T16:51:43.073 回答