How can i find the maximum of three variables?

248 views (last 30 days)
Carole
Carole on 27 Nov 2012
Edited: Sarah Crimi on 16 Nov 2018
Hi, I have to find the maximum of three variables A, B, C and store the result in D. thanks
  2 Comments
Jan
Jan on 30 Nov 2012
Have you tried this, Sara?
d = max(2,3,4)
According to the help text this fails.

Sign in to comment.

Answers (5)

Matt J
Matt J on 27 Nov 2012
D=max([A,B,C]);
  2 Comments
Jan
Jan on 27 Nov 2012
I assume, this is a homework question.
Matt J
Matt J on 27 Nov 2012
I suppose. Can't be worth more than 1 point, though...

Sign in to comment.


Jan
Jan on 27 Nov 2012
How would you find the maximum of two variables?
docserach maximum
Then if you have the maximum of two variables, you can compare it to the third one.

pshymn
pshymn on 13 Apr 2017
Edited: pshymn on 13 Apr 2017
maybe, i am a little late, but i experienced the same problem. here is my solution. it works, tried. function which finds maximum of three variable.
function [p] = MAX(g,h,j)
if g>h && g>j
p=g;
elseif h>g && h>j
p=h;
else
p=j;
end

Image Analyst
Image Analyst on 27 Nov 2012
In general, for A, B, and C being numerical arrays of any size (possibly different than each other):
% Define 3 double matrixes of different sizes
A = rand(3);
B = rand(4);
C = rand(5);
% Now get the max overall
D = max([A(:), B(:), C(:)]) % Note use of (:) to turn arrays into vectors.
If they're cell arrays or structures though, let us know because that would be different.
  1 Comment
Jan
Jan on 28 Nov 2012
If A, B, C hav different sizes, [A(:), B(:), C(:)] fails. But [A(:); B(:); C(:)] with the semicolons for vertical concatenation works.

Sign in to comment.


Sarah Crimi
Sarah Crimi on 5 Oct 2018
Edited: Sarah Crimi on 5 Oct 2018
if it is vectors of different sizes, you would have to do max(max(a),max(b)),max(max(b),max(c)). So, it takes max of the first and second vectors and compares the values, and max of the second and third vectors, then takes the max of those two numbers.
  2 Comments
Stephen23
Stephen23 on 5 Oct 2018
Edited: Stephen23 on 5 Oct 2018
"if it is vectors of different sizes you would have to do..."
Or you can just call max once (as Jan Simon showed earlier):
max([a(:);b(:);c(:)])
Sarah Crimi
Sarah Crimi on 16 Nov 2018
Edited: Sarah Crimi on 16 Nov 2018
Oh yes, I see. This makes it into one vector then takes the max.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!