How Can I create struct field in a loop?
45 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Gianmarco Manzo
el 18 de En. de 2020
Comentada: Gianmarco Manzo
el 19 de En. de 2020
Hello to all,
I have a problem with the struct. I have two nested for loops. With the innermost one I create a struct called 'strutt'. Once I get out of the internal one I have to allocate the whole structure to another structure in the different fields. The problem is that the field is always overwritten. here is the code. Can you help me?
for j=1:4
for i=1:10
strutt.a(1,i)=importdata(...)
strutt.b(1,i)=importdata(...)
..
end
soluz=struct(sprintf('hi%d',j),strutt);
end
2 comentarios
Stephen23
el 18 de En. de 2020
Rather than forcing numbers into fieldnames it would probably be more efficient to use a non-scalar structure
Respuesta aceptada
prasanth s
el 18 de En. de 2020
'struct' command creates new structure. you have to create new structure at the starting of loop. add new fields to the structure inside the loop.
soluz=struct;
for j=1:4
for i=1:10
strutt.a(1,i)=1;
strutt.b(1,i)=2;
end
soluz.(sprintf('hi%d',j))=strutt;
end
0 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!