How can i find the maximum of three variables?

242 Ansichten (letzte 30 Tage)
Carole
Carole am 27 Nov. 2012
Bearbeitet: Sarah Crimi am 16 Nov. 2018
Hi, I have to find the maximum of three variables A, B, C and store the result in D. thanks
  2 Kommentare
Sara Hafeez
Sara Hafeez am 30 Nov. 2012
use max. d=max(a,b,c)
Jan
Jan am 30 Nov. 2012
Have you tried this, Sara?
d = max(2,3,4)
According to the help text this fails.

Melden Sie sich an, um zu kommentieren.

Antworten (5)

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

Melden Sie sich an, um zu kommentieren.


Jan
Jan am 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 am 13 Apr. 2017
Bearbeitet: pshymn am 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
  1 Kommentar
Walter Roberson
Walter Roberson am 13 Apr. 2017
That code assumes scalar values. It also assumes no nan values.

Melden Sie sich an, um zu kommentieren.


Image Analyst
Image Analyst am 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 Kommentar
Jan
Jan am 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.

Melden Sie sich an, um zu kommentieren.


Sarah Crimi
Sarah Crimi am 5 Okt. 2018
Bearbeitet: Sarah Crimi am 5 Okt. 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 Kommentare
Stephen23
Stephen23 am 5 Okt. 2018
Bearbeitet: Stephen23 am 5 Okt. 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 am 16 Nov. 2018
Bearbeitet: Sarah Crimi am 16 Nov. 2018
Oh yes, I see. This makes it into one vector then takes the max.

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by