我有一個數組M=(1000000,12,2,2)
。如何在matlab中保存多維數組?
如何將它寫入文件以便稍後使用?
save('filename.txt','M','-ASCII')
似乎不工作...
問候,
我有一個數組M=(1000000,12,2,2)
。如何在matlab中保存多維數組?
如何將它寫入文件以便稍後使用?
save('filename.txt','M','-ASCII')
似乎不工作...
問候,
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');
爲什麼不將它保存爲一個文件墊(二進制)?
save('filename.mat', 'M');
事後你只需加載它
% some code ...
M = [];
load('filename.mat');
% now you have M
% code handling multi-dim M
非常感謝! – HCAI 2013-03-14 16:55:03
如果我使用'load',我得到一個'struct'而不是一個簡單的數組,對嗎? – HCAI 2013-03-14 17:01:44
@ 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
對於這種類型的操作,是否有其他優點? – HCAI 2013-03-14 17:12:35