Azzera filtri
Azzera filtri

Matrix calculation indexing conditional

1 visualizzazione (ultimi 30 giorni)
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.

Risposta accettata

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

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by