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

6 次查看(过去 30 天)
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.

采纳的回答

Torsten
Torsten 2022-7-23
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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

产品


版本

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by