How to reshape/transform matrices with 3D data?

2 views (last 30 days)

Hello!

I would like to reshape/transform matrices with 3D data (see attached photo). Is there an existing method for this?

Thank you

- - - - - - - - - - - - - - -

Edit:

Initial situation:

X=[1;2;3];
Y=[1,2,3];
Z=[1,2,3;4,5,6;7,8,9];

Target:

X=[1;1;1;2;2;2;3;3;3];
Y=[1;2;3;1;2;3;1;2;3];
Z=[1;2;3;4;5;6;7;8;9];

Accepted Answer

James Tursa
James Tursa on 6 Jul 2017
[y,x] = ndgrid(Y,X);
x = x(:);
y = y(:);
z = reshape(Z',[],1);
  3 Comments
Stephen23
Stephen23 on 7 Jul 2017
Edited: Stephen23 on 7 Jul 2017
@Manuela Gräfe: ndgrid does not require its inputs to have the same number of elements:
>> [Xm,Ym] = ndgrid(1:2,1:9); % no error!
>>
So you have an error but you did not show us the complete error message and you did not show us the code... If you actually want help then you should show us what you tried and the complete error message. Thia means all of the red text.
hanif hamden
hanif hamden on 16 Nov 2020
Hi, i would like to ask how to reshape back the data from right to the left of above figure?

Sign in to comment.

More Answers (0)

Categories

Find more on Characters and Strings in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!