gpt4 book ai didi

matlab - 我怎样才能聚合一个元胞数组?

转载 作者:太空宇宙 更新时间:2023-11-03 19:38:44 24 4
gpt4 key购买 nike

说我有:

A = {'a.java' 1;'a.java' 2; 'b.java' 1; 'b.java' 0; 'a.java' 4; 'c.java' 6};

我想根据第一列的相似度来累加第二列的数字。

我想得到:

B = {'a.java' 1+2+4; 'b.java' 1+0; 'c.java' 6}

我怎样才能做到这一点?

非常感谢,

最佳答案

您可以使用函数 UNIQUE 在没有 for 循环的情况下轻松完成此操作和 ACCUMARRAY :

>> [uniqueValues,~,index] = unique(A(:,1));
>> B = [uniqueValues num2cell(accumarray(index,[A{:,2}]))]

B =

'a.java' [7]
'b.java' [1]
'c.java' [6]

关于matlab - 我怎样才能聚合一个元胞数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5802027/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com