Hi,
I have a 5D matrix, I found the minimum value and minimum index along the whole elements.
How can I know this minimum belongs to which row, which column, which page. I mean for example if the minimum index is 1108.
How can I know at which row, column and pages, this elmentes locates?
Thanks.

 채택된 답변

Karim
Karim 2022년 8월 30일
You can use the ind2sub function for this (link --> Convert linear indices to subscripts - MATLAB ind2sub (mathworks.com) )
See below for an example
% random 5D matrix
M = rand(10,10,10,10,10);
% find the minium and its index
[min,idx] = min(M,[],'all')
min = 5.4030e-06
idx = 55455
% convert to subscripts
[I1,I2,I3,I4,I5] = ind2sub(size(M),idx)
I1 = 5
I2 = 6
I3 = 5
I4 = 6
I5 = 6

추가 답변 (1개)

Chunru
Chunru 2022년 8월 30일
a = randn(2,3,4,5,6);
[amin, i]=min(a(:))
amin = -2.6982
i = 618
[i1, i2, i3, i4, i5] = ind2sub([2,3,4,5,6], i)
i1 = 2
i2 = 3
i3 = 3
i4 = 1
i5 = 6

카테고리

도움말 센터File Exchange에서 Matrix Indexing에 대해 자세히 알아보기

제품

릴리스

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by