MATLAB Answers

Saving Workplace variables to .mat files

26 views (last 30 days)
YIMING on 20 Feb 2011
Hey all, recently I meet the following problem:
Suppose I created a cell named descr like: - descr = cell(1,6);
and after assigning value to each descr{i}, I save it into a file, - save('file.mat', 'descr');
later when I load the file that I just saved, - newdescr = load('file.mat', 'descr'), and update the value of each cell element, - newdescr.descr{i} = newValue;
Then I wish to save the updated cell into the previous file, - save('file.mat', 'newdescr.descr'),
Now the compiler tells me that 'newdescr.descr' is not a valid variable name;
So how do I handle this?

Answers (2)

Jan on 20 Feb 2011
Copy the field to anew variable:
descr = cell(1,6);
descr(:) = {1};
save('file.mat', 'descr');
data = load('file.mat', 'descr');
newdescr = data.descr;
newdescr(:) = {2};
save('file.mat', 'newdescr');
Or use SAVE with the -struct flag.

Walter Roberson
Walter Roberson on 20 Feb 2011
What you probably want is
save('file.mat', '-struct', 'newdescr');
Walter Roberson
Walter Roberson on 21 Feb 2011
Heh ;-)
20 hours ago... Let's see... I think it was starting the laundry that delayed me.

Sign in to comment.


Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!