Saving structure as a .mat file with matrices, strings and numbers
22 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Joaquin Batista
el 18 de Sept. de 2019
Comentada: Joaquin Batista
el 23 de Sept. de 2019
I have a very large structure full of data that fails to save as a .mat file. Some feilds have strings while other have scalars while others have matrices.
save('data.mat', '-struct', s)
Save does not workk in this case, I suspect because its not a scalar but in the save help page we can save structures.
The error I get is:
"Error using save"
"Must be a string scalar or character vector."
and if I add the '-struct' delimiter I get the error:
Error using save
The argument to -STRUCT must be the name of a scalar structure variable.
0 comentarios
Respuesta aceptada
Rik
el 18 de Sept. de 2019
There are two issues here. If you read the doc it specifies that the struct must be scalar (each field is allowed to be any type or size). It also still requires you to enter the variable name as a char.
save('data.mat', '-struct', 's')%will only work if s is a scalar struct
If your struct is an array, you will either have to make it a scalar struct, or avoid the struct syntax.
%example:
s_wrapped=struct('content',s);
save('data.mat', '-struct', 's_wrapped')
3 comentarios
Rik
el 19 de Sept. de 2019
Thank you for pointing this out.
I was just describing how you could use the '-struct' syntax without having a scalar struct. I don't know what the benefit would be, but this does work. I suspect the first syntax is actually the one that Joaquin is looking for, making a discussion about the usefulnes of the second moot.
Más respuestas (0)
Ver también
Categorías
Más información sobre Structures en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!