SUM of selected elements in Matrix

조회 수: 1 (최근 30일)
ANAND ASP
ANAND ASP 2020년 11월 20일
댓글: Ameer Hamza 2020년 11월 20일
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?

채택된 답변

Ameer Hamza
Ameer Hamza 2020년 11월 20일
편집: Ameer Hamza 2020년 11월 20일
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
ANAND ASP
ANAND ASP 2020년 11월 20일
yes exactly, thank you so much...
could you pass formula for subtraction
i want to select 2 from 2nd column and 3rd column and i want
sum like : + 200
- 60
- 90
= 50
Ameer Hamza
Ameer Hamza 2020년 11월 20일
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))

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Images에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by