我具有恆定的2D雙矩陣mat1
內。我也有一個2D單元陣列mat2
,其中每個單元包含一個2D或3D雙重矩陣。這些雙矩陣具有與mat1
相同的行數和列數。我需要在mat2
內乘以(。*)mat1
與每個雙重矩陣的每個切片。結果需要被另一單元陣列results
與大小相同mat2
,由此指含有雙矩陣必須等於的mat2
雙矩陣規模而言。MATLAB:乘法2D矩陣與3D矩陣單元陣列
這裏是我的代碼來生成mat1
和mat2
用於說明目的。我在乘法應該發生的地方掙扎着。
rowCells = 5;
colCells = 3;
rowTimeSeries = 300;
colTimeSeries = 5;
slices = [1;10];
% Create 2D double matrix
mat1 = rand(rowTimeSeries, colTimeSeries);
% Create 2D cell matrix comprisiong 2D and/or 3D double matrices
mat2 = cell(rowCells,colCells);
for c = 1:colCells
for r = 1:rowCells
slice = randsample(slices, 1, true);
mat2{r,c} = rand(rowTimeSeries, colTimeSeries, slice);
end
end
% Multiply (.*) mat1 with mat2 (every slice)
results = cell(rowCells,colCells);
for c = 1:colCells
for r = 1:rowCells
results{r,c} = ... % I am struggling here!!!
end
end
你的代碼是完美的工作。非常感謝。 – Andi
不用擔心,歡呼聲 – Wolfie