MATLAB: How to reduce data to categories

categorise data

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…

Best Answer

  • 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".)