说我有:
A = {'a.java' 1;'a.java' 2; 'b.java' 1; 'b.java' 0; 'a.java' 4; 'c.java' 6};
Run Code Online (Sandbox Code Playgroud)
我想根据第一列相似性累积第二列数.
我想得到:
B = {'a.java' 1+2+4; 'b.java' 1+0; 'c.java' 6}
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
非常感谢,
您可以使用UNIQUE和ACCUMARRAY函数在没有for循环的情况下轻松完成此操作:
>> [uniqueValues,~,index] = unique(A(:,1));
>> B = [uniqueValues num2cell(accumarray(index,[A{:,2}]))]
B =
'a.java' [7]
'b.java' [1]
'c.java' [6]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
714 次 |
| 最近记录: |