Matlab - borrar parte estructura

   
Vista:

borrar parte estructura

Publicado por lucera (119 intervenciones) el 10/10/2009 20:21:35
hola!!

¿alguien sabe si se puede borrar parte de una estructura?

gracas
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:borrar parte estructura

Publicado por gustavo (44 intervenciones) el 10/10/2009 22:44:18
h = %estructura

nombre: 'guano'
edad: 15
folio: 1234
sexo: 'hombre'

>> h = rmfield(h, 'edad'); se borra el campo edad de la estructura h

h =

nombre: 'guano'
folio: 1234
sexo: 'hombre'

setfield %agrega un campo a la estrutura

substruct checa este comando talves te sea de mayor utilidad ... pero aun no lo se usar.....checalo.........

o se me ocurre: que conviertas la estructura a un cell array ...

h.nombre= 'guano';
h.folio= 1234;
h.sexo= 'hombre';

h % estructura
% nombre: 'guano'
% folio: 1234
% sexo: 'hombre'

campos= fieldnames(h) %nombres de los campos
cell=struct2cell(h) %lo conviertes a un cell array
%seleccionas cuales borrar
%por ejemplo folio
cell=cell([1 3]) %nuevo cell con solo los datos de nombre y sexo
campos=campos([1 3])%nuevos campos nombre y sexo
h = cell2struct(cell, campos,1) %obtienes tu nueva estructura con solo dos campos

bueno es lo mejor que puedo hacer sino funciona checa el comando substruct creo que es el que necesitas....

lamento no ser muy util esta ves....
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