Put 3 columns of two matrix in 1 row matrix

6 Ansichten (letzte 30 Tage)
Phong Pham
Phong Pham am 15 Nov. 2013
Beantwortet: Andrei Bobrov am 15 Nov. 2013
I have matrix X and Y with dimension of 100 x 3
X= [ x1 x2 x3; x4 x5 x6; etc];
Y=[ y1 y2 y3; y4 y5 y6; etc];
Now I want a matrix that combines X and Y with the format as following
XY= [ x1 y1 x2 y2 x3 y3 x4 y4 x5 y5 x6 y6, etc]
I have tried XY=reshape([ X, Y].',1,[]); but it gave me XY=[ x1 x2 x3 y1 y2 y3 ]
Please helps

Akzeptierte Antwort

Azzi Abdelmalek
Azzi Abdelmalek am 15 Nov. 2013
Bearbeitet: Azzi Abdelmalek am 15 Nov. 2013
X=[1 2 3;4 5 6];
Y=[11 22 33;44 55 66]
X=X';
Y=Y';
a=[X(:) Y(:)]'
out=a(:)'

Weitere Antworten (3)

Walter Roberson
Walter Roberson am 15 Nov. 2013
reshape([X;Y])

Image Analyst
Image Analyst am 15 Nov. 2013
Try this way:
% Create sample data.
numberOfRows = 5;
x = randi(9, numberOfRows, 3)
y = randi(9, numberOfRows, 3)
% Create the desired output array.
XY = zeros(1, numel(x)+numel(y)); % Initialize
% Stuff in the x
XY(1:2:end) = x';
% Stuff in the y
XY(2:2:end) = y'

Andrei Bobrov
Andrei Bobrov am 15 Nov. 2013
reshape(permute(cat(3,X,Y),[3, 2, 1]),1,[])

Kategorien

Mehr zu Cell Arrays finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by