答案 0 :(得分:1)
这比@ChrisDegnen的解决方案要简单一些。给定array
表达式的相同定义
Map[Total, Map[Flatten, Partition[array, {2, 2}], {2}], {2}]
产生
{{4, 10}, {8, 10}}
如果您愿意,此表达式
Apply[Plus, Map[Flatten, Partition[array, {2, 2}], {2}], {2}]
使用Apply
和Plus
而不是Map
和Total
,但完全等效。
答案 1 :(得分:0)
这适用于示例,但是通用版本需要更多工作。
array =
{{1, 1, 1, 2},
{1, 1, 3, 4},
{2, 2, 2, 3},
{2, 2, 2, 3}};
Map[Total,
Map[Flatten,
Map[Transpose,
Map[Partition[#, 2] &, Partition[array, 2], 2],
2], {2}], {2}]
% // MatrixForm
4 10 8 10