MATLAB Answers

How to find location of elements in an array

8 views (last 30 days)
Praanesh Sambath
Praanesh Sambath on 5 Jul 2020
I have 2 vectors 'A' of size 41*1 and 'B' of size 14*1
vector 'B' contains selected elements from vector 'A'. how do I find the position of elements present in vector 'b' in vector 'a'?
Example: A=1:1:100
B=2:2:20
Now I want to find the position of elements of B in A.
I tried find function but it throws dimention error.
Thanks in Advance

  0 Comments

Sign in to comment.

Answers (2)

Kanupriya Singh
Kanupriya Singh on 5 Jul 2020
Try this-
a = [2 1 3 4 6 8]
b = [2 6 8]
idx = [];
for i = 1:length(b)
idx = [idx, find(b(i) == a)];
end

  2 Comments

Stephen Cobeldick
Stephen Cobeldick on 5 Jul 2020
Rather complex... one ismember call is much simpler (and is what most MATLAB users would do).
Praanesh Sambath
Praanesh Sambath on 5 Jul 2020
I get this error
error: horizontal dimensions mismatch (0x2 vs 1x1)
>> idx
idx = [](0x2)

Sign in to comment.


KALYAN ACHARJYA
KALYAN ACHARJYA on 5 Jul 2020
Edited: KALYAN ACHARJYA on 5 Jul 2020
idx=find(ismember(A,B))

  5 Comments

Show 2 older comments
KALYAN ACHARJYA
KALYAN ACHARJYA on 5 Jul 2020
Edited see the answer, idx=find(ismember(A,B))

Sign in to comment.

Tags


Translated by