how to combine matrixes
    2 views (last 30 days)
  
       Show older comments
    
I have to combine two matrices for example
a=[10 20 30 40 50 60]
   b=[11 22 33 44 55 66]
based on some random seed for example r =2 ,combine 2 values from the matrix a and b to form a output matrix
c=[10 20 11 22 30 40 33 44 50 60 55 66]
Please help me
0 Comments
Accepted Answer
  Azzi Abdelmalek
      
      
 on 27 Feb 2013
           a=[10 20 30 40 50 60]
   b=[11 22 33 44 55 66]
   r=2
   out=[reshape(a,r,[]);reshape(b,r,[])]
   out=out(:)'
More Answers (1)
  Azzi Abdelmalek
      
      
 on 27 Feb 2013
        
      Edited: Azzi Abdelmalek
      
      
 on 27 Feb 2013
  
      General case
   a=[10 20 30 40 50 60];
   b=[11 22 33 44 55 66];
   r=randi(numel(a));
   id=r-mod(numel(a),r);
   if id~=r
       a(end+1:end+id)=nan;
       b(end+1:end+id)=nan;
   end
   out=[reshape(a,r,[]);reshape(b,r,[])];
   out=out(:)';
   out(isnan(out))=[]
2 Comments
  Azzi Abdelmalek
      
      
 on 27 Feb 2013
				Your version of Matlab does not support rndi, then instead of r=randi(numel(a)); use
[~ ,r]=max(rand(1,numel(a)))
See Also
Categories
				Find more on Linear Algebra in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
