How to save contents of nonscaler structure?

4 vues (au cours des 30 derniers jours)
Greydon Gilmore
Greydon Gilmore le 18 Sep 2017
Commenté : Stephen23 le 18 Sep 2017
Hi There, I have a nonscalar structure of data that I wish to save. It seems the usual call to save does not work on nonscaler structures. Does anyone have a workaround?
My current structure is 1x4, with the second dimension being associated with different recording channels from my study struct(1).raw struct(2).raw ec.
Thank you in advance
  2 commentaires
OCDER
OCDER le 18 Sep 2017
What is the "usual call" that you are using? I think this Q&A might help: https://www.mathworks.com/matlabcentral/answers/29282-non-scalar-structures
Stephen23
Stephen23 le 18 Sep 2017
"It seems the usual call to save does not work on nonscaler structures."
Yes it does:
save('nameOfFile.mat','nameofStruct')
Why do you think that this does not work?

Connectez-vous pour commenter.

Réponses (1)

Walter Roberson
Walter Roberson le 18 Sep 2017
You can just save() the structure. You do not need to use the -struct flag to save(). The -struct flag of save is for the particular case where you have a (scalar) structure whose individual fields you want to create as variables in a .mat file.
datastruct = load('YourMatFile.mat');
save('YourNewMatFile.mat', 'datastruct', '-struct')
load() of a .mat stored into a variable creates a scalar structure with one field for each variable stored in the .mat file, and save() with the -struct flag does the opposite, saving the individual fields into individual variables in a .mat file.

Catégories

En savoir plus sur Structures dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by