Azzera filtri
Azzera filtri

Put 3 columns of two matrix in 1 row matrix

1 visualizzazione (ultimi 30 giorni)
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

Risposta accettata

Azzi Abdelmalek
Azzi Abdelmalek il 15 Nov 2013
Modificato: Azzi Abdelmalek il 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(:)'

Più risposte (3)

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

Image Analyst
Image Analyst il 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 il 15 Nov 2013
reshape(permute(cat(3,X,Y),[3, 2, 1]),1,[])

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by