How to reshape/transform matrices with 3D data?

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];

3 comentarios

help meshgrid
help ndgrid
help reshape
James Tursa
James Tursa el 6 de Jul. de 2017
Pleas provide a small example of inputs and outputs.
Manuela Gräfe
Manuela Gräfe el 6 de Jul. de 2017
I added an example.

Iniciar sesión para comentar.

 Respuesta aceptada

James Tursa
James Tursa el 6 de Jul. de 2017
[y,x] = ndgrid(Y,X);
x = x(:);
y = y(:);
z = reshape(Z',[],1);

3 comentarios

Manuela Gräfe
Manuela Gräfe el 7 de Jul. de 2017
Editada: Manuela Gräfe el 7 de Jul. de 2017
Thank you! One more question:
When X and Y don't have the same number of elements it gives me this error:
Subscripted assignment dimension mismatch
Do you have any further idea how to fix this?
Stephen23
Stephen23 el 7 de Jul. de 2017
Editada: Stephen23 el 7 de Jul. de 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 el 16 de Nov. de 2020
Hi, i would like to ask how to reshape back the data from right to the left of above figure?

Iniciar sesión para comentar.

Más respuestas (0)

Preguntada:

el 6 de Jul. de 2017

Comentada:

el 16 de Nov. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by