Saving Workplace variables to .mat files
2 views (last 30 days)
Show older comments
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?
0 Comments
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.
0 Comments
Walter Roberson
on 20 Feb 2011
What you probably want is
save('file.mat', '-struct', 'newdescr');
2 Comments
Jan
on 20 Feb 2011
@Walter: You've been faster. It would be helpful to display a flag, e.g. updated each minute, like: "Walter R. has started to create an answer 3 minutes ago." Then I can stop the fight with the horrible input interface and wait if your answer is as useful as usual.
Walter Roberson
on 21 Feb 2011
Heh ;-)
20 hours ago... Let's see... I think it was starting the laundry that delayed me.
See Also
Categories
Find more on Environment and Settings in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!