Sum of rows if elements in the first columns are same
3 views (last 30 days)
Show older comments
Hello Guys, i have to do a sum operation on a matrix. for example x = [1 2 3 4 5 6; 1 3 5 7 9 11; 2 3 4 5 6 7; 2 4 6 8 10 12]
i need to check if the row elements in the first column are equal, if equal then add the rows together. the answer below is what i expect
x_sum = [1 5 8 11 14 17; 2 7 10 13 16 19].
It would be great if you guys can help. Thanks Raj
3 Comments
Accepted Answer
Sean de Wolski
on 14 Dec 2012
One of many ways:
x = [1 2 3 4 5 6; 1 3 5 7 9 11; 2 3 4 5 6 7; 2 4 6 8 10 12];
[uv,~,idx] = unique(x(:,1));
nu = numel(uv);
x_sum = zeros(nu,size(x,2));
for ii = 1:nu
x_sum(ii,:) = sum(x(idx==ii,:));
end
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!