How to find location of elements in an array

2 ビュー (過去 30 日間)
Praanesh Sambath
Praanesh Sambath 2020 年 7 月 5 日
コメント済み: Praanesh Sambath 2020 年 7 月 5 日
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

回答 (2 件)

KALYAN ACHARJYA
KALYAN ACHARJYA 2020 年 7 月 5 日
編集済み: KALYAN ACHARJYA 2020 年 7 月 5 日
idx=find(ismember(A,B))
  5 件のコメント
KALYAN ACHARJYA
KALYAN ACHARJYA 2020 年 7 月 5 日
Yes, thank you Stephen Cobeldick sir
Praanesh Sambath
Praanesh Sambath 2020 年 7 月 5 日
Thanks it worked

サインインしてコメントする。


Kanupriya Singh
Kanupriya Singh 2020 年 7 月 5 日
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 件のコメント
Stephen23
Stephen23 2020 年 7 月 5 日
Rather complex... one ismember call is much simpler (and is what most MATLAB users would do).
Praanesh Sambath
Praanesh Sambath 2020 年 7 月 5 日
I get this error
error: horizontal dimensions mismatch (0x2 vs 1x1)
>> idx
idx = [](0x2)

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by