Saving a structure array, not fields of it

2 views (last 30 days)
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 Comments

Sign in to comment.

Accepted Answer

Les Beckham
Les Beckham on 16 Mar 2023
Edited: Les Beckham on 16 Mar 2023
s1 = struct('a', 1, 'b', 2')
s1 = struct with fields:
a: 1 b: 2
save('s1.mat', 's1') % don't use the '-struct' option
clearvars
whos
load('s1.mat')
whos
Name Size Bytes Class Attributes s1 1x1 352 struct
Another option:
s1 = struct('a', 1, 'b', 2')
s1 = struct with fields:
a: 1 b: 2
save('s1.mat', '-struct', 's1')
s2 = load('s1.mat')
s2 = struct with fields:
a: 1 b: 2
whos
Name Size Bytes Class Attributes s1 1x1 352 struct s2 1x1 352 struct
isequal(s1, s2)
ans = logical
1

More Answers (0)

Categories

Find more on Structures 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!