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 Creating and Concatenating Matrices 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!