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

2 Ansichten (letzte 30 Tage)
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.

Akzeptierte Antwort

Azzi Abdelmalek
Azzi Abdelmalek am 11 Jun. 2013
x=[1 2 3]
y=[4 5 6]
x1=repmat(x,numel(y),1)
out=[x1(:) repmat(y',numel(x),1)]
  5 Kommentare
Glenn Roumen
Glenn Roumen am 11 Jun. 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 am 11 Jun. 2013
I meant to say 1 in stead of 001. But I allready got the solution I wanted. Thanks

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

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

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

Kategorien

Mehr zu Simulink 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