struct array

I'm attempting to do the following inside a loop:
Name={'Note1','Note2','Note3','Note4'};
Data=struct('Note1',Temp{1,1},'Note2',Temp{1,2},'Note3',...
Temp{1,3},'Note4',Temp{1,4});
Is it possible to do this inside a loop, therefore avoiding to writing each individual field name: Something like the following, although this provides an error: for i=1:4; Data(i)=struct(Name{i},Temp{1,i}); end
I'm thinking that the problem lies with Data(i).

 Respuesta aceptada

Andrei Bobrov
Andrei Bobrov el 8 de En. de 2012

0 votos

d = [Name;Temp];
Data = struct(d{:})

Más respuestas (1)

David Young
David Young el 8 de En. de 2012

0 votos

for i=1:4
Data.(Name{i}) = Temp{1,i};
end

Categorías

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by