Matrix calculation indexing conditional

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.

 采纳的回答

Let A - your array (500 x 6):
T = array2table(A);
T_out = varfun(@sum,T,'InputVariables',2,'GroupingVariables',3:4);

9 个评论

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.
Please attach small part of your data and result for this part.
I want to sum the cell_count for specific time and specific radius. Time is: 1,2,3,4,5,6 and radius is: 1,2,3,4,5
T_out = varfun(@sum,T,'GroupingVariables',...
{'time','radius'},'InputVariables','cell_count');
Thanks for the help. T_out is like this:
Capture.JPG what is the GroupCount column?
GroupCount this is number of rows - ['time', 'radius'].
Can you explain more? Because time and radius donot have the same size.
GroupCount this is numbers of the same rows in the sub-matrix of two columns - [time, radius]

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by