How to save structure inside a structure in .mat file?

5 views (last 30 days)
I want to save a structure S which contains 3 fields A,B,C which looks like :
A = [ 1,2,3,4, ... ]
B = [ 1,2,3,4, ... ]
C = 4*4 matrix.
I tried S.a = A, S.b = B , S.c = C
save('data','S');
but it stores it like
a:[1×107 double]
b: [1×39 double]
c: [39×107 double]
it dosent store the values.
Can anyone suggest how can i save the structure with values?

Answers (2)

Guillaume
Guillaume on 8 Nov 2019
If S is indeed a structure as you have defined, then
save('data', 'S');
does indeed save the whole structure as one structure variable in the mat file. So you'll have to explain why you think it's not the case.
On the other hand, if you did:
save('data', '-struct', 's');
then this would save the field of the structure as individual variables, a, b, and c.

NgoiKH
NgoiKH on 26 Apr 2023
Edited: NgoiKH on 26 Apr 2023
%%% Saving content of structure
a =
field1: {6x6 cell}
field2: {6x6 cell}
field3: {6x6 cell}
field4: {6x6 cell}
field_str = fieldnames(a);
save('filename.mat', field_str{:})
%%% Loading content of structure
b = load('filename.mat');
b =
field1: {6x6 cell}
field2: {6x6 cell}
field3: {6x6 cell}
field4: {6x6 cell}

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!