# Find elements from a matrix and sum variables from other matrix

1 vue (au cours des 30 derniers jours)
nlm le 9 Fév 2019
Commenté : nlm le 10 Fév 2019
Hi,
I have a matrix of lat long (406, 964) say A, and B. I also have a huge matrix of length 36000 and 3 variables (lat, long, intensity), say C. The lat lon in C have repeated values. I need to find only the elements of A and B that match in C, but also sum the intensity values of all those matching coordinates.
Thank you. Look forward to you help.
##### 0 commentairesAfficher -2 commentaires plus anciensMasquer -2 commentaires plus anciens

Connectez-vous pour commenter.

### Réponse acceptée

Matt J le 9 Fév 2019
T=array2table(C);
Gs = groupsummary(T,{'C1','C2'},@sum);
Gs = table2array(Gs(:,[1,2,4]));
bool=ismember(Gs(:,1),A) & ismember(Gs(:,2),B);
result=Gs(bool,:),
##### 2 commentairesAfficher AucuneMasquer Aucune
nlm le 9 Fév 2019
array2table and group summary did the trick I was looking for. Thanks alot.
nlm le 10 Fév 2019
I have a matrix of lat lon count, where for same lat lon, the count variable range between 1 to 4.
I need to have something like this,
LAT LON cnt = 1 cnt=2 cnt=3 cnt =4
12.4 91.4 1 0 3 0
31.4 45.6 2 4 0 9
45.9 91.5 10 0 9 20
I tried table, I could not figure out.

Connectez-vous pour commenter.

### Plus de réponses (1)

Matt J le 9 Fév 2019
Na=numel(A);
Nb=numel(B);
[~,Ia]=ismember(C(:,1),A(:));
[~,Ib]=ismember(C(:,2),B(:));
result = accumarray([Ia,Ib],C(:,3),[Na,Nb]);
##### 1 commentaireAfficher -1 commentaires plus anciensMasquer -1 commentaires plus anciens
nlm le 9 Fév 2019
This issued an error,
"Error using accumarray
Requested 391384x391384 (1141.3GB) array exceeds maximum array size preference."

Connectez-vous pour commenter.

### Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by