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

5 Ansichten (letzte 30 Tage)
Grishma Gupta
Grishma Gupta am 8 Nov. 2019
Bearbeitet: NgoiKH am 26 Apr. 2023
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?

Antworten (2)

Guillaume
Guillaume am 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 am 26 Apr. 2023
Bearbeitet: NgoiKH am 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}

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!

Translated by