MATLAB: How to find the column of maximum values of a maxtrix

columnmatrixmaximum valuesrow

Let's say
x= [4, 90, 85, 75; 2, 55, 65, 75; 3, 78, 82, 79;...
1, 84, 92, 93]
x =
4 90 85 75
2 55 65 75
3 78 82 79
1 84 92 93
If using
[a, b]= max(x)
a will be the maximum values in each columns while b will be their position in terms of rows
I will get
a =
4 90 92 93
b =
1 1 4 4
If using
max(x, [], 'all')
I will get the highest value throughout the columns and rows which is 93.
Now, how do I find the column of the highest value (93) ? Maybe something like
[a, b]= max(x)
but the position/index is in terms of column.

Best Answer

If you want to find the column where the maximum value in 2D matrix locates, one simple way is:
[~,col] = max(max(x));
For example:
x= [4, 90, 85, 75; 2, 55, 65, 75; 3, 78, 82, 79;...
1, 84, 92, 93];
[~,col] = max(max(x));
>> col
col =
4