4
我有2個向量如下:
A= 5 x 10 (5 rows, 10 column)
B= 5 x 6 (5 rows , 6 column)
如何創建一個三維陣列,這意味着5 x 10 x 6
,但不能用零填充?
我有2個向量如下:
A= 5 x 10 (5 rows, 10 column)
B= 5 x 6 (5 rows , 6 column)
如何創建一個三維陣列,這意味着5 x 10 x 6
,但不能用零填充?
我不認爲3D矩陣是你想要的。我建議下列選項:
選項1.細胞陣列
>> A = rand(5,10); B = rand(5,6);
>> {A, B}
ans =
[5x10 double] [5x6 double]
選項2.細胞基質
>> clear C; for i=1:5, C{i,1} = A(i,:)'; C{i,2} = B(i,:)'; end; C
C =
[10x1 double] [6x1 double]
[10x1 double] [6x1 double]
[10x1 double] [6x1 double]
[10x1 double] [6x1 double]
[10x1 double] [6x1 double]
選項3串聯陣列,並抵靠零件然後簡單地索引你需要。
>> C = [A,B]; size(C)
ans =
5 16
選項4.使用結構數組
>> clear C; for i=1:5, C(i).A = A(i,:)'; C(i).B = B(i,:)'; end; C
C =
1x5 struct array with fields:
A
B
如果你認爲一個三維矩陣作爲一個立方體,和二維矩陣爲正方形,你應該看到你正在嘗試做的是從兩個方塊創建一個立方體,使立方體的體積爲空(以及其他四面)。
實際上,矩陣B的列必須是第三維的值 – user1066576
您無法按照您想要的方式從矢量創建3D矩陣。你的矢量只有'50 + 30 = 80'元素,而你描述的3D矩陣有'300'元素。 – abcd
emmm,讓我描述一下,陣列A和B中的行代表圖像名稱1到5,所以在陣列A的第1行中表示與圖像1相關的10個值和陣列B的第1行有另一個6值表示相同的圖像,那麼我怎麼能把所有這些放在3D數組中? – user1066576