how to combine matrixes

2 次查看(过去 30 天)
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

采纳的回答

Azzi Abdelmalek
Azzi Abdelmalek 2013-2-27
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(:)'

更多回答(1 个)

Azzi Abdelmalek
Azzi Abdelmalek 2013-2-27
编辑:Azzi Abdelmalek 2013-2-27
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 个评论
Sharen H
Sharen H 2013-2-27
this code gives an error called Undefined function or method 'randi' for input arguments of type 'double' what does it mean
Azzi Abdelmalek
Azzi Abdelmalek 2013-2-27
Your version of Matlab does not support rndi, then instead of r=randi(numel(a)); use
[~ ,r]=max(rand(1,numel(a)))

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by