how to count the number of occurrences of these numbers (with some conditions)

1 回表示 (過去 30 日間)
cgo
cgo 2021 年 4 月 23 日
回答済み: Bruno Luong 2021 年 4 月 23 日
I have A(1,:) = [1, 2, 5, 2 , 1 , 2];
A(2,:) = [0,1,1,0,1,0];
I want to count the unique number of occurences in A(1,:) so this is simply unique(A(1,:)), which will give
[1, 2, 5]
But i want to count/add the number of ones in A(1,:). So I want another output to be this: first element corresponds to the number of 1's for 1. Next, number of 1's for 2, and so on.
[1,1, 1];
How do i do this?

採用された回答

Bruno Luong
Bruno Luong 2021 年 4 月 23 日
A(1,:) = [1, 2, 5, 2 , 1 , 2];
A(2,:) = [0,1,1,0,1,0];
[B,~,J] = unique(A(1,:));
N = accumarray(J(:),A(2,:)');
B = B';
table(B,N)
ans = 3×2 table
B N _ _ 1 1 2 1 5 1

その他の回答 (1 件)

SungJun Cho
SungJun Cho 2021 年 4 月 23 日
編集済み: SungJun Cho 2021 年 4 月 23 日
Hi,
The code below should solve your problem.
A(1,:) = [1,2,5,2,1,2];
A(2,:) = [0,1,1,0,1,0];
uA = unique(A(1,:));
answer = zeros(1,length(uA));
for i = 1:length(uA)
array = A(2,:);
answer(1,i) = sum(array(A(1,:) == uA(i)));
end
Here, "answer" will give you the output [1,1,1] and "uA" the array [1,2,5].

カテゴリ

Help Center および File ExchangeMatrices and Arrays についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by