find min value of 1st layer of a multidimensional matrix
2 views (last 30 days)
Show older comments
Andrew Poissant
on 11 Apr 2017
Commented: Andrew Poissant
on 11 Apr 2017
I want to find the min value of the 1st layer in an n layer matrix and I want to get the indices too. I tried messing around with min() and ind2sub() but I could not get what I was looking for. How would I got about doing this? An example matrix is seen below.
N = randi([1,500],45,45)
N(:,:,2) = randi([5,200], 45, 45)
N(:,:,3) = randi([1,50], 45, 45)
0 Comments
Accepted Answer
the cyclist
on 11 Apr 2017
Edited: the cyclist
on 11 Apr 2017
Here's one way:
% Set seed for reproducibility
rng 'default'
% Your array
N = rand(4,3,2);
[m,n,~] = size(N);
% Find the minimum value in the first slice.
[minValue minLinearIndex] = min(reshape(N(:,:,1),[m*n,1]));
% Convert the linear index to subscripts
[minrow mincol] = ind2sub([m,n],minLinearIndex);
More Answers (0)
See Also
Categories
Find more on Operating on Diagonal Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!