Effacer les filtres
Effacer les filtres

3D matrix transpose and dimensioning

2 vues (au cours des 30 derniers jours)
Vecihi He
Vecihi He le 24 Jan 2023
Commenté : KSSV le 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 commentaire
Steven Lord
Steven Lord le 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.

Connectez-vous pour commenter.

Réponses (1)

KSSV
KSSV le 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 commentaires
Vecihi He
Vecihi He le 25 Jan 2023
This is exactly the answer I was looking for thank you very much :)
KSSV
KSSV le 25 Jan 2023
Thanks is accepting the answer.. :)

Connectez-vous pour commenter.

Catégories

En savoir plus sur Resizing and Reshaping Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by