Count the occurence certain elements based on condition in next column
Afficher commentaires plus anciens
Hello.
I have a matrix consists of A = [ 1 3 2 2 4 1 2 3 4 1 3] and B = [0 0 -3 0 2 1 4 0 0 -2 0]
How can I determine the occurence of element in A when corresponding value in B is not 0:
C = [
1 2
2 2
3 0
4 1]
Please help me..
Really appreciate it!!
Réponse acceptée
Plus de réponses (1)
Ameer Hamza
le 3 Nov 2020
Modifié(e) : Ameer Hamza
le 3 Nov 2020
Try this
A = [1 3 2 2 4 1 2 3 4 1 3];
B = [0 0 -3 0 2 1 4 0 0 -2 0];
C = [1:max(A); histcounts(A(B~=0), 'BinMethod', 'integers')].'
9 commentaires
Daniar Fahmi
le 4 Nov 2020
Ameer Hamza
le 4 Nov 2020
I am glad to be of help!!!
Daniar Fahmi
le 4 Nov 2020
Modifié(e) : Daniar Fahmi
le 4 Nov 2020
Ameer Hamza
le 4 Nov 2020
Can you share your data in a .mat file?
Daniar Fahmi
le 4 Nov 2020
Ameer Hamza
le 4 Nov 2020
Following solution will be more robust
A = dataPD(1,:);
B = dataPD(2,:);
C = [1:max(A); histcounts(A(B~=0), 0.5:1:max(A)+0.5)].'
Daniar Fahmi
le 4 Nov 2020
Bruno Luong
le 4 Nov 2020
Modifié(e) : Bruno Luong
le 4 Nov 2020
Attention A of your data contains 82335 0s and they are discarded from counting
Daniar Fahmi
le 4 Nov 2020
Catégories
En savoir plus sur Variables dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!