Index of reordered vector

1 visualizzazione (ultimi 30 giorni)
N Madani SYED
N Madani SYED il 30 Mar 2012
Hi all
I better ask my question directly through example
Suppose A = [1 2 3 4 5 6] and I reorder the vector A to get AR = [ 2 4 1 6 5 3]. Now, I wish to track the position of elements of A in AR (i.e. I wish to get vector P = [3 1 6 2 5 4]) so that I can get original vector A by renumbering AR using P (i.e. AO = AR(P) so that A=AO); how can I get vector P?
Regards N Madani SYED

Risposta accettata

Matt Kindig
Matt Kindig il 30 Mar 2012
A = [1 2 3 4 5 6]
AR = [2 4 1 6 5 3]
[junk, P] = ismember(A, AR)

Più risposte (1)

Thomas
Thomas il 30 Mar 2012
A = [1 2 3 4 5 6];
AR=[ 2 4 1 6 5 3];
[x,y,P]=intersect(A,AR)
x =
Columns 1 through 5
1.00 2.00 3.00 4.00 5.00
Column 6
6.00
y =
Columns 1 through 5
1.00 2.00 3.00 4.00 5.00
Column 6
6.00
P =
Columns 1 through 5
3.00 1.00 6.00 2.00 5.00
Column 6
4.00
You have the vector P as output of intersect

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by