how to combine matrixes

1 次查看(过去 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 中查找有关 Mathematics 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by