我对 Matlab 很陌生,但我对其他编程语言有一些经验。我在 Matlab 中有一个从 MySQL 导入的非常大的表。它以单元格数组的形式给出,如下所示:
date key sales weight name
12/11 101 1200 20 blue
12/11 178 1200 70 purple
13/11 209 1300 15 purple
12/11 101 1200 10 blue
14/11 678 1200 10 yellow
12/11 340 1500 30 green
17/11 178 1900 50 purple
我希望输出是这样的:
key sales weight name
101 2400 30 blue
178 3100 120 purple
209 1300 15 purple
678 1200 10 yellow
340 1500 30 green
所以我想在“键”列中组合具有相同数字的行。同时,我想将“销售额”和“重量”列相加并保留“名称”列(每个“键”具有相同的“名称”,但每个“名称”可以有多个“键”)
我知道这可以通过 for 循环实现,但是由于我必须以类似但不同的方式操作很多表,因此这是计算密集型的。
我读过类似的问题,这可以使用 accumarray 来解决,但是这可以用 accumarray 来完成吗?那会是什么样子?