How index using inequalities

4 views (last 30 days)
Hello guys, I was doing this exercise and when I tried running my script, errors appeared.
Create a 1*100 vector A with random numbers from 0 to 10
A = randi([0,10],1,100)
Display all the numbers in A that are greater than 5
u = disp(A>5)
Delete all the numbers in A that are greater than 5
u = []

Accepted Answer

Walter Roberson
Walter Roberson on 22 Jun 2020
A>5 creates a logical vector, with each entry being true if the corresponding A was (strictly) greater than 5, and false if the corresponding A was less than or equal to 5.
disp(A>5) would display that logical vector.
To display the contents of A where A > 5 you need to use A>5 to select entries out of A using logical indexing.
SomeArray(logical_mask)
However... disp() does not return any value, and it is an error to attempt to assign disp() to a variable.
u = []
If you had assigned u the parts of A that are greater than 5, then u = [] would just empty out that array, without changing A. You again want to use logical indexing
SomeArray(logical_mask) = []
  3 Comments
Walter Roberson
Walter Roberson on 22 Jun 2020
Well you will need to define the logical_mask as well.

Sign in to comment.

More Answers (0)

Categories

Find more on Data Type Identification in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!