how to find index of the point in matrix with condition?

Let's say, i have matrix 6-by-1 matrix:
A=[ 1 --->labelling "1"
6 --->labelling "2"
3 --->labelling "3"
5 --->labelling "4"
-3 --->labelling "5"
10 ] --->labelling "6"
and
B=[5]
I want to write the code to compare each value in matrix A with B with condition ( If {A}<B---> I will pick up the index and the value from matrix A to make a new matrix)
Particurly: I have the number 1,3, -3 (in matrix A) is smaller than 5 (in matrix B) so I will have the result after compare condition as follows:
C=[ 1 --->labelling "1"
3 --->labelling "3"
-3 ] --->labelling "5"
and the labelling matrix D will be :
D=[ 1
3
5 ]
How to write a relationship between matrix A,B,C,D ?

2 Kommentare

KL
KL am 28 Aug. 2017
Read the documentation. Your questions have direct and simple answers right there.
yeh read the entire documentation for a single question.

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Benjamin Imbach
Benjamin Imbach am 28 Aug. 2017
Bearbeitet: Benjamin Imbach am 28 Aug. 2017

1 Stimme

check out the find function.
A = [1 6 3 5 -3 10]';
B = 5;
D = find(A<B); %(linear index)
C = A(D);

1 Kommentar

Jan
Jan am 28 Aug. 2017
Bearbeitet: Jan am 28 Aug. 2017
This is even more efficient with "logical indexing": omit the "find".
C = A(A < B)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Tags

Community Treasure Hunt

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

Start Hunting!