Matlab - Como detectar los valores que se repiten "seguidos" en un vector

   
Vista:

Como detectar los valores que se repiten "seguidos" en un vector

Publicado por Guille (10 intervenciones) el 15/01/2013 15:54:05
Hola,

Quería aprovechar este estupendo foro para plantear una duda-problema:
Lo explico directamente desde el ejemplo a fin de hacer más fácil la comprensión.

Tengo un vector: chu = []

8
4
34
56
78
89
89
2
4
2
89
5
...

Objetivo:

Eliminar ¡y solo una vez! del vector, los valores que se repiten ¡seguidos!,

es decir, "chu2" quedaría así,

8
4
34
56
78
89
2
4
2
89
5
...
He realizado el siguiente scrypt, aunque el problema es que me da el # total de repeticiones que hay en el vector, y no la posición de las mismas, de manera que en la última parte no puedo eliminarlas del vector "chu" el cual es mi objetivo principal. A fin de aprender¿Alguien puede explicarme tmb donde está mi error?

repet= []; % elim. Block Repetition
for ii= 1:length(chu)-1
repe = find(chu(chu(ii)==chu(ii+1)));
repet= [repet; repe];
end

no_repe=(chu(repet));


GRACIAS de antemano a todo el que se tome el tiempo de comprender el problema!

Saludos =)
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

Como detectar los valores que se repiten "seguidos" en un vector

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3432 intervenciones) el 15/01/2013 20:40:49
http://www.lawebdelprogramador.com/foros/Matlab/1281480-eliminar_elemento_repetido_en_un_vector.html

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

Como detectar los valores que se repiten "seguidos" en un vector

Publicado por Guille (10 intervenciones) el 16/01/2013 12:06:35
Hola Jose, lo primero darte las gracias por tu rápida respuesta. Ya había visto este post antes de hacer el mio. En mi caso, el problema es algo más complicado, pues lo que yo quiero hacer es eliminar " solo el valor que se repite de manera contigua, y solo una vez".

En mi ejemplo puedes ver como el valor 89 se elimina de "chu" solo cuando es seguido por sí mismo, y no cuando al final ( aunque vuelve a estar presente).
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
Imágen de perfil de JOSE JEREMIAS CABALLERO

Como detectar los valores que se repiten "seguidos" en un vector

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3432 intervenciones) el 16/01/2013 21:24:02
1
='editor_code'>"el problema es algo más complicado,"
Ese de complicado es relativo. %================================= clear all; a=[8 8 4 100 100 34 56 78 89 89 2 4 2 4 4 89 5 5]; k=2; n=length(a); while k<=n if a(k-1)==a(k) a(k)=[]; n=length(a); end k=k+1; end display(a); %======================



1
2
3
4
5
>> eliminar_elementos_repetidos5
 
a =
 
     8     4   100    34    56    78    89     2     4     2     4    89     5





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

Como detectar los valores que se repiten "seguidos" en un vector

Publicado por Guille (10 intervenciones) el 17/01/2013 20:35:42
Muchas gracias, funciona perfectamente. Me alegra además que haya sido fácil para ti.

Un fuerte saludo
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
Imágen de perfil de JOSE JEREMIAS CABALLERO

Como detectar los valores que se repiten "seguidos" en un vector

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3432 intervenciones) el 17/12/2013 18:05:13
Ninguna pregunta es tonta, ninguna pregunta es fácil, ninguna pregunta es difícil, todo depende del conocimiento que tenga el usuario de Matlab.


Saludos.
JOSE JEREMÍAS CABALLERO
Asesorías en Matlab
programador en matlab
Servicios de programación matlab
jjcc94@hotmail.com


http://matlabcaballero.blogspot.com

http://www.lawebdelprogramador.com/foros/Matlab/1371532-FORMA_DE_APRENDER_MATLAB.html
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