Sequences for a 3D matrix

1 回表示 (過去 30 日間)
Jonas Damsbo
Jonas Damsbo 2019 年 1 月 14 日
編集済み: Matt J 2019 年 1 月 14 日
It is possible to find sequences over the 3rd dimension for each element in Matlab? Lets say I have these matrix 3x3x5
1 1 0
A(:,:,1) = 0 0 1
1 1 1
1 1 0
A(:,:,2) = 0 0 1
1 0 1
0 0 0
A(:,:,3) = 1 1 0
0 0 0
1 0 0
A(:,:,4) = 1 0 1
1 1 1
1 1 1
A(:,:,5) = 0 0 1
0 1 0
Now I want to finde sequneces lets 1's two time in a row over the 3rd dimension, so I get the result:
2 1 0
result = 1 0 2
1 1 1
Antway to do that?

回答 (2 件)

Matt J
Matt J 2019 年 1 月 14 日
編集済み: Matt J 2019 年 1 月 14 日
k=ones(1,1,2)/2;
result = sum( convn(A,k,'valid')>.999 ,3 );
  2 件のコメント
Jonas Damsbo
Jonas Damsbo 2019 年 1 月 14 日
Where are you putting the value in the sum you want to find the sequence with?
Matt J
Matt J 2019 年 1 月 14 日
編集済み: Matt J 2019 年 1 月 14 日
In general, it would be,
k=ones(1,1,N)/N;

サインインしてコメントする。


Andrei Bobrov
Andrei Bobrov 2019 年 1 月 14 日
編集済み: Andrei Bobrov 2019 年 1 月 14 日
k = reshape([1,1,0],1,1,[]);
result = sum(convn(A,k,'same')==2,3);
  1 件のコメント
Jonas Damsbo
Jonas Damsbo 2019 年 1 月 14 日
If now the value I want to find a sequnece for must be >10. How did I do that?

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeElementary Math についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by