Saving a structure array, not fields of it
44 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Snoopy
am 16 Mär. 2023
Kommentiert: Snoopy
am 16 Mär. 2023
I have a structure array called s1 in the Workspace. I want to save it as it is so that when I load it, I want to see just s1 in the Workspace, not what is in s1. That is, if I use
save('s1.mat','-struct','s1');
MATLAB saves the content of s1 to s1.mat and when I load s1.mat, the content gets loaded to the Workspace. But I do not want this. I want just s1 to appear in the Workspace.
2 Kommentare
Stephen23
am 16 Mär. 2023
Bearbeitet: Stephen23
am 16 Mär. 2023
Although you could simply skip the -struct option, the robust approach is to SAVE using -struct exactly as you do now and then LOAD into an output variable:
save('s1.mat','-struct','s1');
s1 = load('s1.mat')
This is more robust than making variables pop into the workspace:
Akzeptierte Antwort
Les Beckham
am 16 Mär. 2023
Bearbeitet: Les Beckham
am 16 Mär. 2023
s1 = struct('a', 1, 'b', 2')
save('s1.mat', 's1') % don't use the '-struct' option
clearvars
whos
load('s1.mat')
whos
Another option:
s1 = struct('a', 1, 'b', 2')
save('s1.mat', '-struct', 's1')
s2 = load('s1.mat')
whos
isequal(s1, s2)
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Structures finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!