Error when using find function
9 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
There are 2 matrix, A and B
A=[1
2]
B=[1
2
2]
% Check if the element in A is repeated at B
Check = find (B(:,1)==A)
%Error
%Unable to perform assignment because the left and right sides have a different number of elements.
Check = find (B(1:2,1)==A) %working fine
I need the value 2 in A to be compared with both value 2 in B. I was only manage to compre 2 element with 2 element. Is there any methos to achieve comparing array with 2 element with array with 3 element by using "find" fucntion? Thanks in advance.
0 commentaires
Réponses (2)
Walter Roberson
le 1 Jan 2021
%Unable to perform assignment because the left and right sides have a different number of elements.
That would give
Matrix dimensions must agree.
I need the value 2 in A to be compared with both value 2 in B.
find(B == A(2))
Is there any methos to achieve comparing array with 2 element with array with 3 element by using "find" fucntion?
>> [R,C] = find(B == A.')
R =
1
2
3
C =
1
2
2
Read that as B(1) = A(1), B(2) = A(2), B(3) = A(2)
But I have to wonder whether you really want to use find. I can't tell what you are really aiming to do with the information. I suggest you consider
>> [wasthere, idx] = ismember(B,A)
wasthere =
3×1 logical array
1
1
1
idx =
1
2
2
Or perhaps ismember(A,B) depending what you are trying to do.
5 commentaires
Paul
le 2 Jan 2021
As has been stated in two different answers, the function ISMEMBER is what you need. Have you looked at its documentation? If so and its not satisfactory, why not?
Stephen23
le 2 Jan 2021
This is a very odd definition of comparing two vectors: "A(1) compared with B(1), A(2) compared with B(2), A(2) once again compared with third element of B". In any case, neither find nor ismember will do that unusual comparison, you will have to DIY.
Voir également
Catégories
En savoir plus sur Multidimensional Arrays dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!