3D matrix transpose and dimensioning

3 ビュー (過去 30 日間)
Vecihi He
Vecihi He 2023 年 1 月 24 日
コメント済み: KSSV 2023 年 1 月 25 日
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 件のコメント
Steven Lord
Steven Lord 2023 年 1 月 24 日
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.

サインインしてコメントする。

回答 (1 件)

KSSV
KSSV 2023 年 1 月 24 日
% 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 件のコメント
Vecihi He
Vecihi He 2023 年 1 月 25 日
This is exactly the answer I was looking for thank you very much :)
KSSV
KSSV 2023 年 1 月 25 日
Thanks is accepting the answer.. :)

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeResizing and Reshaping Matrices についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by