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

3 Ansichten (letzte 30 Tage)
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.

Akzeptierte Antwort

Torsten
Torsten am 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

Weitere Antworten (0)

Kategorien

Mehr zu Problem-Based Optimization Setup finden Sie in Help Center und File Exchange

Produkte


Version

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by