Sequences for a 3D matrix

1 vue (au cours des 30 derniers jours)
Jonas Damsbo
Jonas Damsbo le 14 Jan 2019
Modifié(e) : Matt J le 14 Jan 2019
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?

Réponses (2)

Matt J
Matt J le 14 Jan 2019
Modifié(e) : Matt J le 14 Jan 2019
k=ones(1,1,2)/2;
result = sum( convn(A,k,'valid')>.999 ,3 );
  2 commentaires
Jonas Damsbo
Jonas Damsbo le 14 Jan 2019
Where are you putting the value in the sum you want to find the sequence with?
Matt J
Matt J le 14 Jan 2019
Modifié(e) : Matt J le 14 Jan 2019
In general, it would be,
k=ones(1,1,N)/N;

Connectez-vous pour commenter.


Andrei Bobrov
Andrei Bobrov le 14 Jan 2019
Modifié(e) : Andrei Bobrov le 14 Jan 2019
k = reshape([1,1,0],1,1,[]);
result = sum(convn(A,k,'same')==2,3);
  1 commentaire
Jonas Damsbo
Jonas Damsbo le 14 Jan 2019
If now the value I want to find a sequnece for must be >10. How did I do that?

Connectez-vous pour commenter.

Catégories

En savoir plus sur Programming dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by