Matlab - acceso a campos de un struct

 
Vista:

acceso a campos de un struct

Publicado por Jorge (1 intervención) el 20/12/2009 21:37:56
Hola,
Tengo una estructura de datos en matlab con mas de 50 campos, ¿Hay alguna manera de recorrerlos mediante un indice?
El nombre de cada campo es algo parecido a esto

campo1
campo2
campo3....

Asi que si pudiese forzar a matlab a evaluar una variable dentro del nombre del campo (algo asi como "struct.campoi" , y ke sustituyese la i por su valor) podria indexar el acceso, pero no se si eso se puede hacer, ¿Podeis darme alguna idea?

Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:acceso a campos de un struct

Publicado por lucera (119 intervenciones) el 21/12/2009 11:59:14
hola jorge!!

yo cree una estructura de nombre variable no se si te servira pero a lo mejor te ayuda

para poner una variable, esta tiene que ser un string y ponerla entre parentesis.

por ejemplo

NAME='caso1'; esta es la variable

entonces para crear una estructura será

PROYECTO.(NAME).DATOS1
PROYECTO.(NAME).DATOS2 se crean estructuras con esa variable

otra cosilla que te puede ayudar es formar el campo con la funcion que matlab tiene para juntar strings. Para tu caso será por ejemplo: (struct.campoi)

for i=1:100 %por ejemplo
i=num2str(i) %lo cambiamos astring
a=strcat('strct.campo',i) %asi se te forma con la variable
disp(a) % aqui lo puedes usar como quieras el dato del campo
end

espero que sirva

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar