Reputation: 2263
I have an array M=(1000000,12,2,2)
.
How do I write it to a file to work on later?
save('filename.txt','M','-ASCII')
doesn't seem to work...
Regards,
Upvotes: 3
Views: 14226
Reputation: 3824
1) just like the answer from @Shai, you can save it to be mat file
2) if you want to save it to be txt file, you can do it in this way:
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) you can also use fopen, fprintf, fclose to save a matrix to a file. check this post: How to save data in .txt file in MATLAB
4) for the code you have, I tested it. It works. The Matlab version I have is R2011b. please check your code again. The code I used to test is as follows:
clear;clc;
M=[1000000,12,2,2];
save('b.txt','M','-ASCII');
clear;clc;
M = load('b.txt','-ASCII');
Upvotes: 2
Reputation: 114936
Why not save it as a mat file (binary) ?
save('filename.mat', 'M' );
afterwards you simply load it
% some code ...
M = [];
load( 'filename.mat' );
% now you have M
% code handling multi-dim M
Upvotes: 4