How can I create a new matrix with x and y coordinates using a for loop?
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Lets say I have a matrix A like this:
A=
0 0 1 0 0 0
0 0 0 0 1 0
0 1 0 0 0 1
I want to create a for loop in which this loop creates a new matrix like this
B=
1 3 1
2 5 2
3 2 3
4 6 3
The first column will be the ones showed in the matrix A(point 1,2,3,4) and the second and third columns will be the x and y coordinates of those points(point 1 is at 3 in the x direction and 1 in the y direction). Is it possible?
0 Commenti
Risposta accettata
Paul
il 18 Gen 2014
Modificato: Paul
il 18 Gen 2014
[y,x]=find(A==1);
num=length(x);
B=[(1:num)',x,y];
If you want to sort the points the way you described do for example this:
[y,x]=find(A==1);
num=length(x);
xy=sortrows([x,y],2)
B=[(1:num)',xy]
Più risposte (0)
Vedere anche
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!