how to find maximum or minimum element in a matrix?

example
a=5 b=8 c=2 d=6
x=[a b c d]
how to find minimum or maximum element of matrix x? the answer i want is its variable not its value. so the answer here is b and not 8

 Risposta accettata

Azzi Abdelmalek
Azzi Abdelmalek il 24 Ott 2012
Modificato: Azzi Abdelmalek il 24 Ott 2012
a=5;b=8;c=2;d=6
x=[a b c d];
y={'a','b','c','d'};
[c1,idx1]=max(x);
[c2,idx2]=min(x);
max_x=y{idx1}
minx_x=y{idx2}

Più risposte (2)

function varname = max_of_vars(varargin)
[val, idx] = max([varargin{:}]);
varname = inputname(idx);
end
function varname = min_of_vars(varargin)
[val, idx] = min([varargin{:}]);
varname = inputname(idx);
end
Example:
a=5;b=8;c=2;d=6
max_of_vars(a, b, c, d)
min_of_vars(a, b, c, d)
This code is generalized to any number of variables, provided that each of them is scalar. If an expression is passed instead of a variable and that expression happens to be the maximum, then the empty string '' will be returned.

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by