Matlab - Eliminar filas estructura con contenido numérico

   
Vista:

Eliminar filas estructura con contenido numérico

Publicado por David (40 intervenciones) el 10/07/2012 00:08:33
El siguiente código funciona sin problemas si el contenidos son caracteres.
1
2
3
4
5
6
7
%EJEMPLO1 x(1).p='mamaddfdfd'; 
x(2).p='julios'; x(3).p='julios'; x(4).p='tomas';
 'ORIGINAL'
 x(:).p a=struct2cell(x);
 indice=strcmp(a(:),'julios');
J=find(indice==1);
x(J)=[]; 'FILTRADO' x.p


Sin embargo, si el contenido fuese numérico ¿que habría que cambiar para que funcione de una forma similar?

Es decir:
1
2
3
4
5
6
7
8
9
x(1).p=10';
x(2).p=20; x(3).p=30; x(4).p=40;
 'ORIGINAL'
 x(:).p a=struct2cell(x);
 indice=strcmp(a(:),40); 
J=find(indice==1); 
x(J)=[];
 'FILTRADO'
x.p

Este último código no funciona. ¿Podría alguien echarme una mano? Muchas 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
Imágen de perfil de JOSE JEREMIAS CABALLERO

Eliminar filas estructura con contenido numérico

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3432 intervenciones) el 10/07/2012 08:48:20
Tu problema es basicamente los tipos de variables que usas.
1
2
3
4
5
6
7
8
9
10
clear all
x(1).p=10;
x(2).p=20; x(3).p=30; x(4).p=40;
 'ORIGINAL'
 x(:).p, a=struct2cell(x);
 indice=cell2mat(a(:))==40;
J=find(indice==1);
x(J)=[];
 'FILTRADO'
x.p



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
>> estructuras4
 
ans =
 
ORIGINAL
 
 
ans =
 
    10
 
 
ans =
 
    20
 
 
ans =
 
    30
 
 
ans =
 
    40
 
 
ans =
 
FILTRADO
 
 
ans =
 
    10
 
 
ans =
 
    20
 
 
ans =
 
    30




Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
programador en matlab
Servicios de programacion matlab
jjcc94@hotmail.com

http://matlabcaballero.blogspot.com
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

Eliminar filas estructura con contenido numérico

Publicado por David (40 intervenciones) el 10/07/2012 12:03:02
Muchas gracias, sabía que tenía que ser por los tipos de variable pero no utilizaba la funcion cell2mat de la forma correcta.
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