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

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

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

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

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

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

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


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