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

Eliminar valores en vector con condiciones (while)

Publicado por JOSE JEREMIAS CABALLERO (5917 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
[email protected]

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
sin imagen de perfil

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