Converting a 2D Array into a 3D Array

11 views (last 30 days)
Curtis
Curtis on 11 Dec 2017
Commented: Curtis on 11 Dec 2017
Hi, Hope someone can help, I have a 2D array of 1062 x 300 doubles in the format of Xn Yn Zn and I am trying to convert it into a 1062 x 100 x 3 matrix where each of the 3 dimensional points are collected together.
  2 Comments
James Tursa
James Tursa on 11 Dec 2017
Edited: James Tursa on 11 Dec 2017
How is the Xn, Yn, Zn stored in your 2D array? I.e., are X1, Y1, Z1 stored in your array(1,1:3), or are they stored in your array(1,1), array(1,101), array(1,201)? Or ...?
Curtis
Curtis on 11 Dec 2017
they are stored as x1,y1,z1 are (1,1:3), and then x2,y2,z2, are entries 4, 5 and 6

Sign in to comment.

Answers (1)

Stephen23
Stephen23 on 11 Dec 2017
Perhaps:
reshape(M,[1062,100,3])
or
permute(reshape(M,[1062,3,100]),[1,3,2])
  1 Comment
Curtis
Curtis on 11 Dec 2017
hmm, those don't seem to have the desired effect, to try to explain the issue, the best way I can describe the data is that it is 1062 frames of 100 3 dimensional points and i'm trying to break each frames 300 datapoints into 100 3 dimensional points

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!