Saving a structure array, not fields of it
27 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 Workspace Variables and MAT-Files 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!