2013-03-14 64 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