Saving Workplace variables to .mat files

4 visualizzazioni (ultimi 30 giorni)
YIMING
YIMING il 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?

Risposte (2)

Jan
Jan il 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 il 20 Feb 2011
What you probably want is
save('file.mat', '-struct', 'newdescr');
  2 Commenti
Jan
Jan il 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
Walter Roberson il 21 Feb 2011
Heh ;-)
20 hours ago... Let's see... I think it was starting the laundry that delayed me.

Accedi per commentare.

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by