Matlab - eliminar filas pares de una matriz

 
Vista:
sin imagen de perfil
Val: 17
Ha aumentado su posición en 2 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

eliminar filas pares de una matriz

Publicado por karen (11 intervenciones) el 12/02/2017 18:37:10
tengo una matriz de tamaho 8564 filas y 16 columnas, y tienen el siguiente formato:

A=

1 2 3 4 5 6 7
0 0 0 0 0 0 0
8 5 6 3 3 6 7
0 0 0 0 0 0 0
2 3 0 5 6 2 8
0 0 0 0 0 0 0


quiero eliminar las filas pares ( donde se ubica la fila completa con ceros), es decir quiero obterner:

A=

1 2 3 4 5 6 7
8 5 6 3 3 6 7
2 3 0 5 6 2 8

al ser una matriz tan grande no quiero hacerlo linea por linea con el comando:

A(2,:)=[],

ni tampoco quiero hacerlo elminando las celdas que contengan cero, pues algunas celdas deben tener ese valor como lo muestra el ejemplo A(5,3)


mil gracias de antemano.
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
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

eliminar filas pares de una matriz

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 12/02/2017 19:09:45
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
clear all
A=[1 2 3 4 5 6 7
     0 0 0 0 0 0 0
     8 5 6 3 3 6 7
     0 0 0 0 0 0 0
     2 3 0 5 6 2 8
     0 0 0 0 0 0 0
     1 2 3 4 5 6 7
     0 0 0 0 0 0 0
     8 5 6 3 3 6 7
     0 0 0 0 0 0 0
     2 3 0 5 6 2 8
     1 2 3 4 5 6 7
     0 0 0 0 0 0 0
     8 5 6 3 3 6 7
     0 0 0 0 0 0 0
     2 3 0 5 6 2 8
     0 0 0 0 0 0 0
     0 0 0 0 0 0 0
     ]
B=sum(A,2);
f=find(B==0);
u=find(rem(f,2)==0);
v=f(u);
A(v,:)=[]


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
>> eliminar_filas5
 
A =
 
     1     2     3     4     5     6     7
     0     0     0     0     0     0     0
     8     5     6     3     3     6     7
     0     0     0     0     0     0     0
     2     3     0     5     6     2     8
     0     0     0     0     0     0     0
     1     2     3     4     5     6     7
     0     0     0     0     0     0     0
     8     5     6     3     3     6     7
     0     0     0     0     0     0     0
     2     3     0     5     6     2     8
     1     2     3     4     5     6     7
     0     0     0     0     0     0     0
     8     5     6     3     3     6     7
     0     0     0     0     0     0     0
     2     3     0     5     6     2     8
     0     0     0     0     0     0     0
     0     0     0     0     0     0     0
 
 
A =
 
     1     2     3     4     5     6     7
     8     5     6     3     3     6     7
     2     3     0     5     6     2     8
     1     2     3     4     5     6     7
     8     5     6     3     3     6     7
     2     3     0     5     6     2     8
     1     2     3     4     5     6     7
     0     0     0     0     0     0     0
     8     5     6     3     3     6     7
     0     0     0     0     0     0     0
     2     3     0     5     6     2     8
     0     0     0     0     0     0     0


Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab


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