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

7 visualizaciones (últimos 30 días)
Grishma Gupta
Grishma Gupta el 8 de Nov. de 2019
Editada: NgoiKH el 26 de Abr. de 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?

Respuestas (2)

Guillaume
Guillaume el 8 de Nov. de 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 el 26 de Abr. de 2023
Editada: NgoiKH el 26 de Abr. de 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}

Categorías

Más información sobre Structures en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by