【发布时间】:2013-03-14 16:27:05
【问题描述】:
我有一个数组M=(1000000,12,2,2)。
如何将其写入文件以供以后使用?
save('filename.txt','M','-ASCII')
好像没用……
问候,
【问题讨论】:
标签: matlab
我有一个数组M=(1000000,12,2,2)。
如何将其写入文件以供以后使用?
save('filename.txt','M','-ASCII')
好像没用……
问候,
【问题讨论】:
标签: matlab
为什么不将其保存为 mat 文件(二进制)?
save('filename.mat', 'M' );
然后你只需加载它
% some code ...
M = [];
load( 'filename.mat' );
% now you have M
% code handling multi-dim M
【讨论】:
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');
【讨论】:
load,我会得到一个struct,而不是一个简单的数组,不是吗?