How can i find the maximum of three variables?

231 vues (au cours des 30 derniers jours)
Carole
Carole le 27 Nov 2012
Modifié(e) : Sarah Crimi le 16 Nov 2018
Hi, I have to find the maximum of three variables A, B, C and store the result in D. thanks
  2 commentaires
Sara Hafeez
Sara Hafeez le 30 Nov 2012
use max. d=max(a,b,c)
Jan
Jan le 30 Nov 2012
Have you tried this, Sara?
d = max(2,3,4)
According to the help text this fails.

Connectez-vous pour commenter.

Réponses (5)

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

Connectez-vous pour commenter.


Jan
Jan le 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 le 13 Avr 2017
Modifié(e) : pshymn le 13 Avr 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 commentaire
Walter Roberson
Walter Roberson le 13 Avr 2017
That code assumes scalar values. It also assumes no nan values.

Connectez-vous pour commenter.


Image Analyst
Image Analyst le 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 commentaire
Jan
Jan le 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.

Connectez-vous pour commenter.


Sarah Crimi
Sarah Crimi le 5 Oct 2018
Modifié(e) : Sarah Crimi le 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 commentaires
Stephen23
Stephen23 le 5 Oct 2018
Modifié(e) : Stephen23 le 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 le 16 Nov 2018
Modifié(e) : Sarah Crimi le 16 Nov 2018
Oh yes, I see. This makes it into one vector then takes the max.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Logical 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