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

1 view (last 30 days)
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?

Accepted Answer

Ive J
Ive J on 19 Feb 2022
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

More Answers (1)

KSSV
KSSV on 19 Feb 2022
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!