how can I get the min and corresponding max in matrix?

7 vues (au cours des 30 derniers jours)
JacobM
JacobM le 26 Sep 2016
Commenté : Walter Roberson le 26 Sep 2016
I want to find the max in a matrix r*2 where r=1 up to 10 depends on the input from the user. and then return the min corresponding element in that row to the max.
Ex.
x=[5 2;4 1;1 3];
x_max1=max(x(:,1)); x_min1=min(x(:,1));
x_max2=max(x(:,2)); x_min2=min(x(:,2)); % for second column
x_max=max(x_max1,x_max2); x_min=min(x_min1,x_min2);
this code will return, max as 5 and min as 1 while I want the code to return the max which is 5 and the corresponding element in that row which is 2'? Also, if there is another way to simplify the code will be also helpful

Réponse acceptée

Image Analyst
Image Analyst le 26 Sep 2016
Try this:
x=[5 2;
4 1;
1 3];
% Get max in either column
maxValue = max(x(:))
% Find out what row and column it apepars at.
[row, column] = find(x == maxValue)
% Get the min value at that row.
minValue = min(x(row, :))
  2 commentaires
JacobM
JacobM le 26 Sep 2016
Modifié(e) : Walter Roberson le 26 Sep 2016
works perfect! but when I have another max it will return two values while I want only one value.
Ex. x=[5 2;4 1;1 5];
the max is 5 and this code will return both corresponding values to 5, which are 2 and 1. can I just get the min one which is 1 and let the code ignore the other value? and thanks for your input
Walter Roberson
Walter Roberson le 26 Sep 2016
min() the result.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by