Azzera filtri
Azzera filtri

find max value within set parameters of matrix

1 visualizzazione (ultimi 30 giorni)
say i have a matrix a = [ 0 1 2 3 4 5 6 7 8 9 10 11]
I know how to find the max of that matrix and its location but say I want to find the max number and its location of only cells a((1,2):(1:3), (3,2):(3,3)) how would i do this? I've tried just adapting : [row, col] = find(ismember(a, max(a(:)))) to [row, col] = find(ismember(a, max(a(in1:in2,in3:in4)))) where in1 represents the input(1,2) and so forth but it returns a whole load of values instead of just the one
  2 Commenti
Jos (10584)
Jos (10584) il 12 Mar 2018
I do not understand your indexing notation, as in a((1,2):(1:3), (3,2):(3,3))! What is, for instance (3,2) supposed to represent? And what about the colons in (1:3), and also between ():()?
Stephen23
Stephen23 il 12 Mar 2018
What does a((1,2):(1:3), (3,2):(3,3)) mean? Please convert this to subscript indexing.

Accedi per commentare.

Risposta accettata

KALYAN ACHARJYA
KALYAN ACHARJYA il 12 Mar 2018
% Here code is, hope I undestand your question
array=[1 2 3; 9 7 0; 12 7 51]; % You can change the matrix size
max_value=array(1,1);
for i=1:3
for j=1:3
if max_value<=array(i,j);
%here I have used only two locations, you can expand it multiple
if (array(i,j)==array(1,2)) || (array(i,j)==array(1,3))
max_value=array(i,j);
end
end
end
end
  1 Commento
Stephen23
Stephen23 il 12 Mar 2018
Requires nested loops and multiple if's: see Jos' answer for a simpler, neater solution.

Accedi per commentare.

Più risposte (1)

Jos (10584)
Jos (10584) il 12 Mar 2018
If you want to mask out elements of a vector for finding the max, without disrupting the location within the vector, you might consider replacing these elements by -Inf
a = [1 2 3 4 5 4 3 2 1]
maskix = [2:6]
b = a % work on a copy
b(maskix) = -Inf
[mv, mi] = max(b)
  1 Commento
Stephen23
Stephen23 il 12 Mar 2018
Modificato: Stephen23 il 12 Mar 2018
+1 good use of MATLAB. Using NaN would also allow min, mean, etc.

Accedi per commentare.

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by