Sequences for a 3D matrix

2 ビュー (過去 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 ExchangeCreating and Concatenating Matrices についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by