Hi I have a 1 x 100 row matrix. I want to calculate in one line what percentage (interms of decimal) are the elements which are the number 1 (matrix is full of 1's, -1's and 0s'.)
Then I would like another one line to give the percentage of -1's.

 Réponse acceptée

Wayne King
Wayne King le 14 Juin 2012

1 vote

x = randi([-1 1],1,100);
percent1 = 100*(length(x(x==1))/numel(x));
percentminus1 = 100*(length(x(x == -1))/numel(x));
Another way
sum(bsxfun(@eq,x,1))
sum(bsxfun(@eq,x,-1))

Plus de réponses (1)

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by