Filter löschen
Filter löschen

3D matrix transpose and dimensioning

3 Ansichten (letzte 30 Tage)
Vecihi He
Vecihi He am 24 Jan. 2023
Kommentiert: KSSV am 25 Jan. 2023
When I take the pagetranspose of the matrix I, which has the size shown in Fig. 1 below, I get the matrix "Itilde", which has the size shown in Fig. 2. But I want the size of each cell of the Itilde matrix to be 29x64. Below, the cells in a single column are 29x64x4. How can I divide it into 4 columns and make the size of each cell 29x64 as shown in Fig. 3?
Fig .1
Fig.2
Fig.3
Thanks.
  1 Kommentar
Steven Lord
Steven Lord am 24 Jan. 2023
When I take the pagetranspose of the matrix I, which has the size shown in Fig. 1 below, I get the matrix "Itilde", which has the size shown in Fig. 2.
The pagetranspose function does not change a double array (your original matrix, shown in Fig. 1) into a cell array (Fig. 2). Therefore your code performs some other operation that you're not showing us. If you show us that operation we may be able to help you modify it to achieve your goal.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

KSSV
KSSV am 24 Jan. 2023
% Data for demo
A{1,1} = rand(3,3,3) ;
A{2,1} = rand(3,3,3) ;
A{3,1} = rand(3,3,3) ;
A{4,1} = rand(3,3,3) ;
A
A = 4×1 cell array
{3×3×3 double} {3×3×3 double} {3×3×3 double} {3×3×3 double}
% Conversion
B = cell(4,3) ;
for i = 1:4
for j = 1:3
B{i,j} = A{i}(:,:,j) ;
end
end
B
B = 4×3 cell array
{3×3 double} {3×3 double} {3×3 double} {3×3 double} {3×3 double} {3×3 double} {3×3 double} {3×3 double} {3×3 double} {3×3 double} {3×3 double} {3×3 double}
  2 Kommentare
Vecihi He
Vecihi He am 25 Jan. 2023
This is exactly the answer I was looking for thank you very much :)
KSSV
KSSV am 25 Jan. 2023
Thanks is accepting the answer.. :)

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Resizing and Reshaping Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by