Transform matrix into vector X Y Z
7 views (last 30 days)
Show older comments
Hi!
I have a matrix 1024 * 1024 and I need to do a regression with this matrix, but first I need to convert it to a X Y Z vector for example.
2 2 3
1 5 7
9 8 7
Where X = n, Y = m, and Z = value, in order to get the vectors in this form
(1 , 1, 2)
(1 , 2 , 2)
(1, 3, 3)
(2, 1, 1)
(2, 2, 5) , etc
Thank you for your help
0 Comments
Accepted Answer
KSSV
on 18 Mar 2021
You may follow something like this:
A = [2 2 3
1 5 7
9 8 7];
[m,n] = size(A) ;
[X,Y] = meshgrid(1:n,1:m) ;
P = [X(:) Y(:) A(:)]
More Answers (1)
Walter Roberson
on 18 Mar 2021
Edited: Walter Roberson
on 18 Mar 2021
A = [
2 2 3
1 5 7
9 8 7]
[X, Y, Z] = find(A);
XYZ = sortrows([X, Y, Z])
Note: this particular implementation does not output 0. If you need 0 then a different implementation would be used.
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!