Find elements from a matrix and sum variables from other matrix
조회 수: 2 (최근 30일)
이전 댓글 표시
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
채택된 답변
Matt J
2019년 2월 9일
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,:),
추가 답변 (1개)
Matt J
2019년 2월 9일
Na=numel(A);
Nb=numel(B);
[~,Ia]=ismember(C(:,1),A(:));
[~,Ib]=ismember(C(:,2),B(:));
result = accumarray([Ia,Ib],C(:,3),[Na,Nb]);
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!