Find Maximum Values of a 3 Dimensional Matrix
90 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
ercan duzgun
am 17 Nov. 2015
Kommentiert: ercan duzgun
am 1 Dez. 2015
I need to find each maximum values (position/indexing of values) of each layer on a 3 dimensional matrix.
It was given for a two dimensional matrix.
example:
--------------------
A = [8 2 4; 7 3 9];
[M,I] = max(A(:));
[I_row, I_col] = ind2sub(size(A),I)
---------------------
Here I_row and I_col is could be found. But I need a 3 dimensional matrix's maximum indexing of each layers.
Example:
---------------------
F(:,:,1)=[8 2 4; 7 3 9];
F(:,:,2)=[7 2 1; 0 5 1];
---------------------
I need position of 9 for the 1'st layer (which is (2,3)), and also position of the 7 for the 2'nd layer (which is (2,1)).
That layers are going up to 150 or more. (F(:,:,150))
So, how can I find each of the maxsimum of the matrix?
Thanks in advance.
0 Kommentare
Akzeptierte Antwort
Thorsten
am 18 Nov. 2015
Reshape the pages of F into separate columns, determine the max for each column and use ind2sub to convert linear indices to subscripts:
[s1 s2 s3] = size(F);
[maxval, ind] = max(reshape(F(:), s1*s2, []));
[i j] = ind2sub([s1 s2], ind);
X = [maxval' i' j'];
Weitere Antworten (1)
Walter Roberson
am 17 Nov. 2015
[M,I] = max(F(:));
[I_row, I_col, I_page] = ind2sub(size(F),I)
1 Kommentar
Siehe auch
Kategorien
Mehr zu Particle Swarm finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!