2013-03-14 366 views

回答

2

1)就像从@Shai答案,你可以将它保存为文件垫

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'); 
+0

如果我使用'load',我得到一个'struct'而不是一个简单的数组,对吗? – HCAI 2013-03-14 17:01:44

+2

@ user1134241不,我测试过了。如果你使用'M = load('b.txt',' - ASCII');'加载它,它会给'M = [1000000,12,2,2];'直。如果您将其保存为mat文件并使用'a = load('M.mat')'加载它,您将得到一个结构体。一个是mat文件,另一个是txt文件。他们是不同的。 – tqjustc 2013-03-14 17:07:47

+0

对于这种类型的操作,是否有其他优点? – HCAI 2013-03-14 17:12:35

3

为什么不将它保存为一个文件垫(二进制)?

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

事后你只需加载它

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

非常感谢! – HCAI 2013-03-14 16:55:03