I want to find the 1-column average of vectors with the same 2 columns values.
At now, D1 vector array is obtained through my function as shown in the figure, and E1 is obtained in ascending order through indexing.
How can I arrange the average values according to the 2 column values of E1 as shown in the figure?
[a,index1]=sort(D1(:,3));
E1=D1(index1(1:1:end,:),:);
[rowE1,colE1]=size(E1);

 채택된 답변

Mathieu NOE
Mathieu NOE 2021년 10월 12일

0 개 추천

hello
try this
%% dummy data
B = ([1 1 1 1 2 2 2 4 4 4 4 1 1 1 1 2]/8)'; % 2nd column data
A = 100*rand(size(B))'; % first column data
%% main code
Bu = unique(B);
for ci = 1:numel(Bu)
ind = (B == Bu(ci));
A_extract_mean(ci,1) = mean(A(ind));
end
C = [A_extract_mean Bu] % First colums contains average values according to the 2nd column values of E1

댓글 수: 2

Daeyeon Koh
Daeyeon Koh 2021년 10월 12일
It successfully works! thanks a lot.
Mathieu NOE
Mathieu NOE 2021년 10월 12일
My pleasure (as always) !

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Logical에 대해 자세히 알아보기

제품

릴리스

R2019b

태그

질문:

2021년 10월 12일

댓글:

2021년 10월 12일

Community Treasure Hunt

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

Start Hunting!

Translated by