Matlab - Eliminar valores en vector con condiciones (while)

   
Vista:

Eliminar valores en vector con condiciones (while)

Publicado por EduardoM (2 intervenciones) el 14/12/2012 11:41:56
Quiero eliminar elementos de un vector. He utilizado este 'while':

1
2
3
4
5
6
7
8
9
n = length(y1); "n tiene la dimensión de y1"
i=1;
while i<=n
    if (y1(i)<= (-0.7)) "esta es a primera condición"
        y1(i)=[];
       n = n-1;
    end
    i=i+1;
end


El problema es que hay elementos de y1 que tienen valor menor que -0.7. No me los elimina todos. El vector tiene una dimensión de 52170 elementos, supongo que en eso no hay prolema...

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 valores en vector con condiciones (while)

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3433 intervenciones) el 14/12/2012 20:26:55
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
clear all
y1=round(20*rand(1,30));
display(y1)
m=length(y1);
n = length(y1);% "n tiene la dimensión de y1"
i=1;
c=0;
while i<=n
    if y1(i)<=5 %"esta es a primera condición"
        y1(i)=[];
        c=c+1;
       n = n-1;
       i=i-1;
    end
    i=i+1;
end
display(y1)
if m==length(y1)+c
    display('ELIMNACION CORRECTA');
end



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
>> eliminar_elementos1
 
y1 =
 
  Columns 1 through 13
 
    11    18    16     1     6     8    17     8     5    12    10    18    19
 
  Columns 14 through 26
 
    16    14    15    18     1     7     0    17    10     7     5    11     6
 
  Columns 27 through 30
 
     1     2     1     8
 
 
y1 =
 
  Columns 1 through 13
 
    11    18    16     6     8    17     8    12    10    18    19    16    14
 
  Columns 14 through 22
 
    15    18     7    17    10     7    11     6     8
 
ELIMNACION CORRECTA



Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
programador en matlab
Servicios de programación 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 valores en vector con condiciones (while)

Publicado por ana solis (4 intervenciones) el 27/01/2014 23:40:09
que tal, disculpe no se si me pueda explicar lo que hace y1(i)=[]; , se que se almacena en un vector "vacío" pero no lo entiendo , muchas gracias
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