Borrar filtros
Borrar filtros

How do I add two columns to a matrix in ascending order?

1 visualización (últimos 30 días)
I need a matrix which numbers ascend in the following way:
If I have the columns:
x=[1 2 3]
y=[4 5 6]
I want the matrix to be like:
A=[1 4
1 5
1 6
2 4
2 5
2 6
3 4
3 5
3 6]
I hope someone can help me with this.

Respuesta aceptada

Azzi Abdelmalek
Azzi Abdelmalek el 11 de Jun. de 2013
x=[1 2 3]
y=[4 5 6]
x1=repmat(x,numel(y),1)
out=[x1(:) repmat(y',numel(x),1)]
  5 comentarios
Glenn Roumen
Glenn Roumen el 11 de Jun. de 2013
I got it myself. Thank you for the answer. I used this code:
x1=repmat(i,numel(j),1);
x1=sortrows(x1);
out=[x1(:) repmat(j,numel(i),1)]
Glenn Roumen
Glenn Roumen el 11 de Jun. de 2013
I meant to say 1 in stead of 001. But I allready got the solution I wanted. Thanks

Iniciar sesión para comentar.

Más respuestas (2)

Iain
Iain el 11 de Jun. de 2013
x = repmat(x,numel(y),1)
y = repmat(y,1,size(x,2))
A = [x(:) y(:)]

Andrei Bobrov
Andrei Bobrov el 11 de Jun. de 2013
[ii,jj] = ndgrid(y,x);
out = [jj(:), ii(:)];

Categorías

Más información sobre Logical en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by