comparing the maximum value of a matrix to the other values

2 views (last 30 days)
Hello, I have a question. I need to compare the maximum value in an array to the other elements in an array and check if it is greater than 1.2 times the other elements. How can I do this in matlab? I'd prefer it if it is a simple command since I'm already doing this within a loop. I know max will give me the maximum but how to compare it with the other elements?

Answers (2)

KSSV
KSSV on 29 Dec 2017
A = randperm(10,5) ;
B = randperm(20,5) ;
iwant = max(A)/max(B)
fprintf('max of A is %f times to max of B\n',iwant)
  4 Comments
SSG_newbiecoder
SSG_newbiecoder on 29 Dec 2017
I have an array X=[1 2.2 3.5 3.8 2.8 2.9]. Maximum is 3.8. But I need to check if this maximum is 1.2 times the other 5 elements in the array.
KSSV
KSSV on 29 Dec 2017
X=[1 2.2 3.5 3.8 2.8 2.9] ;
R = X./max(X) ;
idx = abs(R-1.2)<10^-3

Sign in to comment.


Walter Roberson
Walter Roberson on 29 Dec 2017
If you want to know whether it is greater than 1.2 for all of the elements, then
if max(FirstArray) > 1.2 * max(SecondArray)
If you want to know whether it is greater than 1.2 for some element then
if max(FirstArray) > 1.2 * min(SecondArray)
I recommend that you explicitly comment the behavior you want when some of the values in the second array might be negative. Is -1.3 "greater than" 1.2 times -1 because the value has greater distance from 0 ?
  5 Comments
SSG_newbiecoder
SSG_newbiecoder on 29 Jan 2018
Or if you can suggest a method to find an array element that is 1.2 times that of the other elements in the array, that will solve the problem without all the above hassle

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!