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

21 vues (au cours des 30 derniers jours)
ha ha
ha ha le 28 Août 2017
Commenté : Quincy Sproul le 20 Nov 2022
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 commentaires
KL
KL le 28 Août 2017
Read the documentation. Your questions have direct and simple answers right there.
Quincy Sproul
Quincy Sproul le 20 Nov 2022
yeh read the entire documentation for a single question.

Connectez-vous pour commenter.

Réponse acceptée

Benjamin Imbach
Benjamin Imbach le 28 Août 2017
Modifié(e) : Benjamin Imbach le 28 Août 2017
check out the find function.
A = [1 6 3 5 -3 10]';
B = 5;
D = find(A<B); %(linear index)
C = A(D);
  1 commentaire
Jan
Jan le 28 Août 2017
Modifié(e) : Jan le 28 Août 2017
This is even more efficient with "logical indexing": omit the "find".
C = A(A < B)

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!