merging vectors together with alternating values
    61 views (last 30 days)
  
       Show older comments
    
Hello, 
     I want to merge two vectors like this: 
A=[ 1; 2; 3; 4;]  B=[5; 6; 7; 8;] 
resulting vector 
C=[1; 5; 2; 6; 3; 7; 4; 8;]
Thank you 
0 Comments
Answers (4)
  KALYAN ACHARJYA
      
      
 on 28 May 2019
        
      Edited: KALYAN ACHARJYA
      
      
 on 28 May 2019
  
      vec=[A B]';
C=vec(:)
>> A=[ 1; 2; 3; 4]
Example:
>> A=[ 1; 2; 3; 4]
A =
     1
     2
     3
     4
>> B=[5; 6; 7; 8]
B =
     5
     6
     7
     8
>> vec=[A B]'
vec =
     1     2     3     4
     5     6     7     8
>> C=vec(:)
C =
     1
     5
     2
     6
     3
     7
     4
     8
>> 
0 Comments
  Star Strider
      
      
 on 28 May 2019
        Try this: 
A=[1; 2; 3; 4];  
B=[5; 6; 7; 8];
C = [A(:) B(:)]';
C = C(:)
producing: 
C =
     1
     5
     2
     6
     3
     7
     4
     8
2 Comments
  Indrasish Chakraborty
 on 19 Aug 2021
        What if the two vectors are of unequal length ?
For example - 
A=[2 4 5 7 8]
B=[3 8 0 1]
Then how to get C=[2 3 4 8 5 0 7 1 8] ?
2 Comments
  shikhar tyagi
 on 19 Aug 2021
				A=[1; 0; 3; 4 ;6 ;0]; 
B=[5; 6; 7 ;0 ;4];
C=cat(1,A,B);
C([1:2:end,2:2:end])=C
I hope this helps 
  Nils Odenwald
 on 2 Sep 2021
        
      Edited: Nils Odenwald
 on 2 Sep 2021
  
      I recommend the MATLAB function "reshape", which allows you to change the order of arrays. You can also manipulate different data types such as strings.
Example:
A = [1; 2; 3; 4; 5];
B = [0; 0; 0; 0; 0];
result = reshape([A B]',[],1)
0 Comments
See Also
Categories
				Find more on Logical in Help Center and File Exchange
			
	Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!





