How to compare two non-integer value together?

5 views (last 30 days)
Malahat Mehraban
Malahat Mehraban on 7 Jan 2022
Answered: Image Analyst on 7 Jan 2022
Hi all,
I have two matrix with non-integer values (they have been attached). I want to compare them and find which numbers are greater than eighty percent of their corresponding values. if the corresponding value is greater returns true and if it is less than 80% returns false.
For instance: x1=85.36 and x2=73.52; I want to compare x1 and x2 and find that is the second one greater than 80% of x1 or not.
Thank you in advance for any suggestions.
  2 Comments
Malahat Mehraban
Malahat Mehraban on 7 Jan 2022
No. For instance:
x1=85.36 and x2=73.52; I want to compare x1 and x2 and find that is the second one greater than 80% of x1 or not.

Sign in to comment.

Answers (3)

DGM
DGM on 7 Jan 2022
Your example arrays are identical, and I don't really know which one you're trying to compare to which. Consider the example using two arrays. Here, I use A as the reference, and test to see if the elements of B are greater than 80% of the corresponding elements of A.
A = 10*rand(1,10);
B = A - 2*rand(1,10);
bar([A.' B.'])
legend({'A','B'})
Bisgt80pA = B>(A*0.8)
Bisgt80pA = 1×10 logical array
1 0 0 0 0 1 1 0 1 1

Steven Lord
Steven Lord on 7 Jan 2022
Is what you're trying to do as simple as just multiplication and relational operators?
x1=85.36;
x2=73.52;
x2 >= 0.8*x1
ans = logical
1

Image Analyst
Image Analyst on 7 Jan 2022
Do you mean, if they're vectors:
logicalIndexes = x2 > (0.80 * x1); % or
linearIndexes = find(logicalIndexes);
Or if they're scalars.
result = x2 > (0.80 * x1) % Returns true or false.

Community Treasure Hunt

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

Start Hunting!

Translated by