saving struct empty give me error
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Luca Re
el 9 de Oct. de 2024
Respondida: Animesh
el 9 de Oct. de 2024
hi, it's possibile to save empty struct? How can i do it?
A=app.portFolio_struct;
On=logical(str2double(A.List(:,2)));
A.List=A.List(On,:);
A.List=[];
B=A.List; %memorizzo la struttura ma senza il setting !(e' caricato con un file a parte nel MPV_Serafini_PortfolioManager e poi messo in questa struttura )
save(A.portFolio_setting.tslist,'-struct','B');
Error using save
The argument to -STRUCT must be the name of a scalar structure variable.
0 comentarios
Respuesta aceptada
Stephen23
el 9 de Oct. de 2024
Editada: Stephen23
el 9 de Oct. de 2024
"hi, it's possibile to save empty struct? How can i do it?"
Of course, just give the variable name exactly like you would any other variable:
S = struct('x',{},'y',{})
save('mytest.mat','S') % no error
checking:
T = load('mytest.mat').S
What will not work is the -struct option, which (as the error clearly states) only works for scalar structures. It also behaves differently, by saving each field as separate variables in the MAT file.
But there is absolutely no reason why you cannot save a structure of any size as its own variable.
0 comentarios
Más respuestas (1)
Animesh
el 9 de Oct. de 2024
The error message suggests that the variable you're trying to save with the "-struct" option is not a scalar structure. In this case, the variable "B" is causing the issue. To save an empty struct, ensure that you're saving a structure variable, even if it is empty. Here's how you can modify your code:
B = struct('List', A.List);
save(A.portFolio_setting.tslist, 'B');
In here, we create "B" as a structure with an empty field named "List".
0 comentarios
Ver también
Categorías
Más información sobre Printing and Saving 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!