MATLAB: How to save fields of a struct through for loop iteration.

savingstruct

I have a struct with several field names.
data=
struct with fields:
'a': [100×1 double]
'b': [400×1 double]
.
.
etc.
I can save all the filed values to the same file as follow.
save(filename, 'a', 'b', …)
but, since the field name are too many, I want to to save all of them by for loop. Is there any way I can do that? Thank you!

Best Answer

You don't need a loop, just use the -struct flag to save the fields of a scalar structure:
save(filename,'-struct','data')
When you load the file, make sure that you use an output argument:
data = load(filename);