creating a matrix from two sets of data

Hello
Lets say, I have a row of numbers :x= [1 2 3 4]. I also have a column of numbers: y= [1;2]
I need to creat another matix from x, y comibation. so x is going to be paired with each y.
c =
1 1
2 1
3 1
4 1
1 2
2 2
3 2
4 2
Thank you !

 Réponse acceptée

Rik
Rik le 20 Nov 2019
Modifié(e) : Rik le 20 Nov 2019
You can use ndgrid to generate every combination.
[X, Y] =ndgrid(x, y);
out=[X(:) Y(:)];

2 commentaires

Erivelton Gualter
Erivelton Gualter le 20 Nov 2019
Nicer and simpler version.
Far mah
Far mah le 20 Nov 2019
Thanks !

Connectez-vous pour commenter.

Plus de réponses (2)

Erivelton Gualter
Erivelton Gualter le 20 Nov 2019
Here is a possible solution:
x = [1 2 3 4];
y = [1;2];
nx = length(x);
c(1:nx,1) = x;
c(1:nx,2) = y(1);
c(nx+1:2*nx,1) = x';
c(nx+1:2*nx,2) = y(2);
For future questions, read this :
Show an attempt code as well.
Hi,
This should help
for y = 1:2
for x = 1:4
c(4*(y-1)+x,1) = x
c(4*(y-1)+x,2) = y
end
end

Community Treasure Hunt

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

Start Hunting!

Translated by