I have a large double matrix similar to below
testz(1,:)=[325, 325, 325, 269, 369, 369];
testz(2,:)=[3, 2, 5, 2, 6, 9];
and I would like to reduce the data so that the sum of row 2 (3+2+5 and 2+6+9) is shown for each row 1 value, ie.
test_output =
325 369
10 17
How can I do that?! Thanks in advance...

 채택된 답변

the cyclist
the cyclist 2017년 1월 27일
편집: the cyclist 2017년 1월 27일

0 개 추천

testz(1,:)=[325, 325, 325, 369, 369, 369];
testz(2,:)=[3, 2, 5, 2, 6, 9];
[uniquez1,~,idx] = unique(testz(1,:)');
sumz2 = accumarray(idx,testz(2,:)');
test_output = [uniquez1,sumz2]'
(It looks like maybe you wrote "269" once, where you meant "369".)

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Get Started with MATLAB에 대해 자세히 알아보기

질문:

2017년 1월 27일

댓글:

2017년 1월 27일

Community Treasure Hunt

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

Start Hunting!

Translated by