File Exchange

image thumbnail

howmany Counts occurrencies of numbers in array

version 1.0 (1.21 KB) by

Counts the number of occurrences of finite values

3 Downloads

Updated

View License

% [val, num] = howmany(x)
%
% counts the number of occurrences of finite values in x
%
% in: x vector of nnumbers (array will be reshaped to a vector)
%
% out: val unique values in x, sorted
% num number of occurrences

Comments and Ratings (2)

Pekka Kumpulainen

The exact equal match is intentional in this function. I have another function: "isclose" for the "close enough" comparisons.
But a good suggestion anyway, I might add that option.

Nathan Greco

It would be nice if this checked for floating point differences as well.
Ex:
a = [0 0.1 0.2 0.3 0.4];
b = [0:0.1:0.4];
>> [v n] =howmany([a b])
%%%%%%%%%%%%%
v =
                    0
                    0.1
                    0.2
                    0.3
                    0.3
                    0.4
n =
     2
     2
     2
     1
     1
     2

Because the arrays a and b are essentially equal (within eps):
%%%%%%%%%%
>> abs(a-b)<eps
ans =
     1 1 1 1 1
>> isequal(a,b)
ans =
     0
%%%%%%%%%%
you should at least give an option to count them as the same number.

Just my two cents

-Nathan

MATLAB Release
MATLAB 7.0.1 (R14SP1)
Tags Add Tags

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video