How to sum frequency of the duplicate value in an array?

조회 수: 5 (최근 30일)
tedy
tedy 2013년 4월 7일
Hello,
i have two array g=[1,3,2,2,5,4,4] and h=[2,4,5,2,7,5,3]. g is the value and h is the frequency. what i wanna do is the duplicate value only have one value and also the frequency of the duplicate value will be summed. it's like g=[1,3,2,5,4] and h=[2,4,7,7,8]. i try this code to delete the duplicate
i = g([diff(g)~=0, true]);
but, i don't know how to sum the frequency of the duplicate value? please help me.
Thanks in advance

답변 (1개)

Azzi Abdelmalek
Azzi Abdelmalek 2013년 4월 7일
편집: Azzi Abdelmalek 2013년 4월 7일
[a,b]=unique(g)
new_g=g(sort(b))
new_h=arrayfun(@(x) sum(h(g==x)),new_g)
  댓글 수: 1
Azzi Abdelmalek
Azzi Abdelmalek 2013년 4월 7일
Or if you have new version of Matlab
[new_g,~]=unique(g,'stable')
new_h=arrayfun(@(x) sum(h(g==x)),new_g)

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

카테고리

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

태그

Community Treasure Hunt

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

Start Hunting!

Translated by