Вы можете сгенерировать дискретное распределение вероятностей для ваших целых чисел, используя функцию hist
:
data = [1 2 3 3 4]; %# Sample data
xRange = 0:10; %# Range of integers to compute a probability for
N = hist(data,xRange); %# Bin the data
plot(xRange,N./numel(data)); %# Plot the probabilities for each integer
xlabel('Integer value');
ylabel('Probability');
И вот результирующий сюжет:
![enter image description here](https://i.stack.imgur.com/3UmwC.png)
UPDATE:
В более новых версиях MATLAB функция hist
больше не рекомендуется. Вместо этого вы можете использовать функцию histcounts
, чтобы получить ту же цифру, что и выше:
data = [1 2 3 3 4];
N = histcounts(data, 'BinLimits', [0 10], 'BinMethod', 'integers', 'Normalization', 'pdf');
plot(N);
xlabel('Integer value');
ylabel('Probability');