4-D Matrix Indices Corresponding to an Entry Inequality

1 vue (au cours des 30 derniers jours)
Paul Fishback
Paul Fishback le 17 Juin 2015
Modifié(e) : Matt J le 17 Juin 2015
I have a 4-dim matrix, A, of size say 10-by-10-by-200-by-30.
I would like to find all 4-tuples [i,j,f,t] for which A(i,j,f,t)<.01 and store each 4-tuple [i,j,f,t] as a row in a matrix, call it "Entries." For example, if Entries had a row consisting of 5,4,120,8, then A(5,4,120,8)<.01.
I started J=find(A<=.01), which of course returns a vector, where each vector entry corresponds to a particular 4-tuple.
The problem I'm having is determining the correspondence. If A was 2-by-2, I would just use
[I_row, I_col] = ind2sub(size(A),J),
in which case Entries=[I_row,I_col].
It's the fact my matrix A is 4-dim that's causing my difficulty.

Réponse acceptée

Matt J
Matt J le 17 Juin 2015
Modifié(e) : Matt J le 17 Juin 2015
[Tuples{1:ndims(A)}]=ind2sub(size(A), J);
Entries=[Tuples{:}];

Plus de réponses (0)

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by