Find the position of elements of an array in another array and measure the euclidean distance between two array elements.

1 ビュー (過去 30 日間)
Suppose,
X = [11 12 13 21 22 23]
A = [11 22 21 13 12 23]
B = [11 13 21 23 22 12]
At first, I want to find the position of each elements of X in A and B. The answer would be as follows.
Position of X elements in A, P = [1 5 4 3 2 6]
Position of X elements in B, Q = [1 6 2 3 5 4]
Now I want to measure the euclidean distance between the elements of P and Q.
How can I do these?

採用された回答

Ive J
Ive J 2022 年 2 月 19 日
X = [11 12 13 21 22 23];
A = [11 22 21 13 12 23];
B = [11 13 21 23 22 12];
[~, Q] = ismember(X, B)
Q = 1×6
1 6 2 3 5 4
[~, P] = ismember(X, A)
P = 1×6
1 5 4 3 2 6
norm(P - Q)
ans = 4.2426

その他の回答 (1 件)

KSSV
KSSV 2022 年 2 月 19 日
d = sqrt(sum((A(X)-B(X)).^2));

Community Treasure Hunt

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

Start Hunting!

Translated by