Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Matlab - save(int2str(i), x) doesn't work - Argument must contain a string

Tags:

matlab

octave

I have a loop which is generating some data and in certain cases I want to save the data. Therefore I have:

save(int2str(i), x);

This doesn't work and comes out with the message:

??? Error using ==> save
Argument must contain a string.

What am I doing wrong?

like image 858
s5s Avatar asked May 13 '12 18:05

s5s


2 Answers

The x has to be 'x':

 save(int2str(i), 'x');
like image 170
H.Muster Avatar answered Oct 18 '22 22:10

H.Muster


Both the filename (in your case you correctly convert what I'm guessing is the loop index, i to a string) and the names of the variables that you want to save must be strings. You can save multiple variables to the same mat file by separating the variable names by commas. The Matlab documentation gives the following example . . .

savefile = 'pqfile.mat';
p = rand(1, 10);
q = ones(10);
save(savefile, 'p', 'q')
like image 31
learnvst Avatar answered Oct 18 '22 20:10

learnvst