Add structs in a saved array of structures
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Miquel
el 27 de En. de 2020
Comentada: Miquel
el 28 de En. de 2020
Hello,
I have a function (fun1) which generates several results (r1,r2,r3...). I organise them in a struct.
results=struct('results1',{r1},'results2',{r2},'results3',{r3},...);
This struct is the output of the funtion.
I have to run this same function for several variables and I want to keep all the results in the same array of structs. Therefore could I do:
results(1)=fun1(variable1,otherinputs);
results(2)=fun1(variable2,otherinputs);
results(3)=fun1(variable3,otherinputs);
...
However, the function deals with huge sets of data so it can take on the order of 45 minutes to run, and I have to run it more than 20 times. Is there any way to save the output struct so that each time that I run the function it adds the output to the previous ones? I mean to do something similar to what I do in the workspace but directly in a .mat file.
Thanks!
0 comentarios
Respuesta aceptada
Mohammad Sami
el 28 de En. de 2020
You can use the matfile function to write directly to a mat file
a = matfile('newfile.mat','Writable',true);
n = 10;
for i = 1:n
% your code
a.mystruct(i,1) = struct('abc',123,'def',456);
end
clear a;
6 comentarios
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!