4-D Matrix Indices Corresponding to an Entry Inequality

조회 수: 1 (최근 30일)
Paul Fishback
Paul Fishback 2015년 6월 17일
편집: Matt J 2015년 6월 17일
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.

채택된 답변

Matt J
Matt J 2015년 6월 17일
편집: Matt J 2015년 6월 17일
[Tuples{1:ndims(A)}]=ind2sub(size(A), J);
Entries=[Tuples{:}];

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Matrix Indexing에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by