Info
此问题已关闭。 请重新打开它进行编辑或回答。
Comparing two matrix elements summing third and storing them separately
1 次查看(过去 30 天)
显示 更早的评论
the problem is extension of the question https://www.mathworks.com/matlabcentral/answers/106095-comparing-matrix-elements-and-performing-operation-if-equal
whenever the elemnts in column 1 and 3 both are repeated elsewhere in matrix then only third column should get added up
e.g
A=
18 18 1
17 20 2
18 18 1
17 25 2
19 17 3
18 18 1
19 17 3
then answer should be
18 18 1
17 20 2
18 18 2
17 25 2
19 17 3
18 18 3
19 17 6
After that i want that the final matriz should be of the form
x = [ 17 20 2
17 25 2
18 18 3
19 17 6]
0 个评论
回答(2 个)
madhan ravi
2019-7-7
T = array2table(A);
t = groupsummary(T,{'A1','A2'},'sum');
x = t{:,[1,2,end]}
1 个评论
madhan ravi
2019-7-7
Or:
[u,~,idx] = unique(A(:,1:2),'rows');
x = [u,accumarray(idx,A(:,3),[],@sum)]
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!