Matrix calculation indexing conditional

1 view (last 30 days)
I have a matrxi of 500 rows and 6 columns. I need to sum all the rows of 2nd column of the matrix if their 3rd column and 4th coumns equal to specific numbers.
How can I do that?
Lets explain more: One column is the time. An other column is radius. We can have multiple rows of the same time. Or multiple rows that have the same radius. An other coulmn is number of cells. I want to say for all times=2 and all radius=3 sum the number of cells.

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 13 Aug 2019
Edited: Andrei Bobrov on 13 Aug 2019
Let A - your array (500 x 6):
T = array2table(A);
T_out = varfun(@sum,T,'InputVariables',2,'GroupingVariables',3:4);
  9 Comments
Zeynab Mousavikhamene
Zeynab Mousavikhamene on 14 Aug 2019
Can you explain more? Because time and radius donot have the same size.
Andrei Bobrov
Andrei Bobrov on 15 Aug 2019
GroupCount this is numbers of the same rows in the sub-matrix of two columns - [time, radius]

Sign in to comment.

More Answers (0)

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!