3

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,

2 Answers 2

4

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
Sign up to request clarification or add additional context in comments.

Comments

2

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

4 Comments

If I use load I get a struct rather than a straight forward array don't I?
@user1134241 nope, I tested it. if you load it using 'M = load('b.txt','-ASCII');', it will give 'M=[1000000,12,2,2];' directly. If you saved it to be a mat file and load it using 'a=load('M.mat')', you will get a struct. One is mat file and one is txt file. They are different.
For this type of operation are there any benefits of one over the other?
@user1134241 For MAT file, it can save complex data structure, for example struct data. But txt file cannot. Meanwhile, for txt file, it is memory-efficent. For example, when I save 'M=[1000000,12,2,2]' to be txt file, the size of file is 66bytes. But for mat file, the size is 181 bytes.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.