Saving structure as a .mat file with matrices, strings and numbers
22 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Rik
2019-9-18
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 个评论
Rik
2019-9-19
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.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Structures 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!