Summing over the same category within one column

Hi there,
I attached a rough sketch of my matrix to better describe the problem.
I have troubles summing over the same category within one column. I guess I would have to define that there are 14 categories first? I could also reshape every column in a loop? I am not sure how to proceed?
I am very grateful for help :)

6 Comments

What is class of your matrix?
Your screenshot isn't from Matlab so are you asking how to put your data in a matrix in the first place?
How cat1, cat2 etc strings present? What are those?
I already have the matrix in Matlab. I just wrote Category1, Cat2 etc. to illustrate the structure. In Matlab those are all numbers with a value betweeen 0 and 1.
The picture is not clear. What exactly does "Cat 1" mean? Where is which information stored and which data do you want to sum? Please use standard Matlab syntax to explain the input data.

Sign in to comment.

 Accepted Answer

Something similar to this should work, although your matrix sizes don't correspond with your comments. You say you have a 3500*3500 matrix. If this is divided into 14 then it gives you 250 categories.
This is just off the top of my head so there may be errors, but it should give the idea. There are probably ways without for loops to by rearranging the data order first, but get the answer right before looking for faster solutions!
inputIdx = 1:14:3487;
for n = 1:250
outputIdx = ( 1:14 ) + ( n - 1 ) * 14;
outputMatrix( outputIdx, : ) = sum( inputMatrix( inputIdx + n, : ) );
end

More Answers (0)

Categories

Find more on MATLAB in Help Center and File Exchange

Asked:

on 8 May 2017

Answered:

on 8 May 2017

Community Treasure Hunt

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

Start Hunting!