27

I want to find the argmax of the values in a matrix by column, e.g.:

1 2 3    2 3 3
4 5 6 -> 
3 7 8 

I feel like I should just be able to map an argmax/posmax function over the columns, but I don't see a particularly intuitive way to do this in Octave.

Philip Massey
  • 1,401
  • 3
  • 14
  • 24

2 Answers2

50

Read max function documentation here

[max_values indices] = max(input);

Example:

input =

1   2   3
4   5   6
3   7   8

[max_values indices] = max(input)
max_values =

4   7   8

indices =

2   3   3
Nishant
  • 2,571
  • 1
  • 17
  • 29
12
In Octave If
A =
   1   3   2
   6   5   4
   7   9   8

1) For Each Column Max value and corresponding index of them can be found by
>> [max_values,indices] =max(A,[],1)
max_values =
   7   9   8
indices =
   3   3   3


2) For Each Row Max value and corresponding index of them can be found by
>> [max_values,indices] =max(A,[],2)
max_values =
   3
   6
   9
indices =
   2
   1
   2

Similarly For minimum value

>> [min_values,indices] =min(A,[],1)
min_values =
   1   3   2

indices =
   1   1   1

>> [min_values,indices] =min(A,[],2)
min_values =
   1
   4
   7

indices =
   1
   3
   1
Goyal Vicky
  • 1,249
  • 16
  • 16