What is an efficient way of finding the maximum value under a certain limit?

5 views (last 30 days)
Can you guys throw few lines my way that will help me find the maximum value under a certain threshold in a matrix? Lets say I have this matrix: [1,2,3;4,5,6;7,8,9] and I would like to find the maximum value below 8, so the code will return the index and the value, which in this case will be the number 7. The reason I emphasized efficiency is because I will be running this so many times in a bunch of for loops, so I was looking for the fastest thing. Thanks in advance.

Accepted Answer

Torsten on 23 Jul 2022
A = [1,2,3;4,5,6;7,8,9];
A(A>=8) = -Inf
A = 3×3
1 2 3 4 5 6 7 -Inf -Inf
[m,i] = max(A,[],'All')
m = 7
i = 3
[row,col] = ind2sub(size(A),i)
row = 3
col = 1

More Answers (0)


Find more on Matrices and Arrays 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!

Translated by