how to find patterns in an array
古いコメントを表示
Hello
I have a 19*19 array filled with either a 1, -1 or a 0.
I need to find patterns of 5 repeating values next to each other of any value in both row and columns, and then store where the patterns are in an array.
example:
[1 0 0 0 0 0 1 0 -1 ]
and then store where the patterns are in another 19*19 array. As either a row pattern, column pattern or both.
any suggestions on how to do it? I'm completely lost.
1 件のコメント
per isakson
2014 年 10 月 3 日
編集済み: per isakson
2014 年 10 月 3 日
採用された回答
その他の回答 (2 件)
Andrei Bobrov
2014 年 10 月 3 日
n = 5;
idxv = find(conv2(double(diff(A) == 0),ones(n-1,1),'same') == n-1);
idxv = idxv - 1;
idxh = find(conv2(double(diff(A,1,2) == 0),ones(1,n-1),'same') == n-1);
idxh = idxh - size(A,1);
カテゴリ
ヘルプ センター および File Exchange で Multidimensional Arrays についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!