Codificación de longitud de ejecución en Matlab
Soy muy nuevo en MatLab, tengo el código de codificación de longitud de ejecución pero parece que no funciona, ¿me pueden ayudar?
Tengo esta entrada:
ChainCode = 11012321170701000700000700766666666666665555555544443344444333221322222322
y quiero convertirlo en salida RLE:
(1,2), (0,1), (1,1), (2,1), (3,1), (2,1), (1,2), (7,1), (0,1), (7,1), (0,1),
(1,1), (0,3), (7,1), (0,5), (7,1), (0,2), (7,1), (6,13), (5,8), (4,4), (3,2),
(4,5), (3,3), (2,2), (1,1), (3,1), (2,5), (3,1), (2,2)
Este es mi código:
lengthcode = 1;
N = 1;
for i = 2:length(ChainCode)
if x(i)==x(i-1)
N = N + 1;
valuecode(N) = x(i);
lengthcode(N) = lengthcode(N) + 1;
else
N = 1;
lengthcode = 1;
end
i = i + 1;
end
Pero esto no funciona, y todavía estoy confundido acerca de cómo puedo imprimir la salida de esa manera.
Espero que puedas ayudarme. Gracias.