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 Kommentare

help meshgrid
help ndgrid
help reshape
James Tursa
James Tursa am 6 Jul. 2017
Pleas provide a small example of inputs and outputs.
I added an example.

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

James Tursa
James Tursa am 6 Jul. 2017

0 Stimmen

[y,x] = ndgrid(Y,X);
x = x(:);
y = y(:);
z = reshape(Z',[],1);

3 Kommentare

Manuela Gräfe
Manuela Gräfe am 7 Jul. 2017
Bearbeitet: Manuela Gräfe am 7 Jul. 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 am 7 Jul. 2017
Bearbeitet: Stephen23 am 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 am 16 Nov. 2020
Hi, i would like to ask how to reshape back the data from right to the left of above figure?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by