MATLAB: Matrix

matrix manipulation

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.

Best Answer

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))
Related Question