find where number changes in a matrix

3 visualizaciones (últimos 30 días)
joseph Frank
joseph Frank el 23 de Mzo. de 2013
I have a matrix of +1 and -1 values. I want to find where the number flips from 1 to -1 or vice versa where the change is a change from column to column.
X=[...
1 1 1 1;
1 -1 1 1;
1 1 1 -1;
1 1 1 1]
the answer should be [2,2],[2,3]and [3,4]. I tried
find(diff(X)==2);
find(diff(X)==-2);
Any help is appreciated

Respuesta aceptada

Cedric
Cedric el 23 de Mzo. de 2013
>> [r,c] = find(diff(X,1,2)) ;
>> loc = [r, c+1]
loc =
2 2
2 3
3 4

Más respuestas (1)

the cyclist
the cyclist el 23 de Mzo. de 2013
One way:
[i j] = find(abs([zeros(4,1),diff(X,[],2)])==2)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by