MATLAB: How can I create a new array with same data as existing array and in specific order

arrayfor loop

i have two arrays.
a = [1,2,3,4,5];
b = [6,1,7,3,5];
I want to be able to create another array called 'c' which contains everything a has but in the order it appears in 'b'. so c should look like: –
c = [1,3,5];

Best Answer

This works in the more general situation:
a = randi(10, 1, 5);
b = randi(10, 1, 5);
[C,ia,ib] = intersect(a,b);
c = b(sort(ib))