SUM of selected elements in Matrix
1 view (last 30 days)
Show older comments
i have matrix
M = [1 1 2 60;
2 3 2 90;
3 1 3 240;
4 2 3 200;
5 3 3 160]
i want to select 1 from 2nd column and acoording to that i want to SUM of 60 and 240. same way i want to select 3 from 2nd column and SUM of 90 and 160.
how to creat?
0 Comments
Accepted Answer
Ameer Hamza
on 20 Nov 2020
Edited: Ameer Hamza
on 20 Nov 2020
Are you looking for something like this
M = [1 1 2 60;
2 3 2 90;
3 1 3 240;
4 2 3 200;
5 3 3 160];
result = splitapply(@sum, M(:,4), M(:,2))
Result
>> result
result =
300
200
250
2 Comments
Ameer Hamza
on 20 Nov 2020
In that case, you can just use logical indexing
M = [1 1 2 60;
2 3 2 90;
3 1 3 240;
4 2 3 200;
5 3 3 160];
idx1 = M(:,2)==2;
idx2 = M(:,3)==2;
result = sum(M(idx1,4))-sum(M(idx2,4))
More Answers (0)
See Also
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!