MATLAB: Split vector A into smaller vectors based on vector B

split vector

I have two vectors of same lenght. Vector A contains angle data, and vector B contains gait phase (1=stand; 2=swing).
I want to split vector A into smallers vector for each individual gait cycle (1 stand + 1 swing).
My data is as follows:
Vector A Vector B
1.2 1
1.3 1
1.4 1
1.5 2
1.6 2
1.7 2
1.8 2
1.9 2
1.10 2
2.11 1
2.12 1
2.13 1
2.14 1
2.15 2
2.16 2
2.17 2
2.18 2
Then I want to split A into…
Vector C Vector D
1.2 2.11
1.3 2.12
1.4 2.13
1.5 2.14
1.6 2.15
1.7 2.16
1.8 2.17
1.9 2.18
1.10
Thank you!

Best Answer

A = [1.2 1
1.3 1
1.4 1
1.5 2
1.6 2
1.7 2
1.8 2
1.9 2
1.10 2
2.11 1
2.12 1
2.13 1
2.14 1
2.15 2
2.16 2
2.17 2
2.18 2 ]
A1 = A(A(:,2)==1,1)
A2 = A(A(:,2)==2,1)