how to combine matrixes

5 views (last 30 days)
Sharen H
Sharen H on 27 Feb 2013
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

Accepted Answer

Azzi Abdelmalek
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
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
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)))

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!