Это может быть глупый вопрос, однако, вы работаете с дискретным распределением (биномиальным, пуассоновским, ...) или непрерывным распределением?Если вы работаете с любым видом непрерывного распределения, добавление шага и представление его как дискретного может вызвать проблемы.
Даже если вы работаете с дискретным распределением, табличное представление является ненужным шагом.
Вот код, который показывает довольно простой способ сделать то, что вы хотите.
%% Parametric fitting, followed by random number generation
% Generate some random data from a normal distribution with mean = 45 and
% standard devation = 6
X = 45 + 6 * randn(1000,1);
foo = fitdist(X, 'normal')
% Use the object to generate 1000 random numbers
My_data = random(foo, 1000,1);
mean(My_data)
std(My_data)
%% Kernel smoothing, followed by random number generation
% Generate some random data
X = 10 + 5 * randn(100,1);
Y = 15 + 3 * randn(60,1);
my_dist = vertcat(X,Y);
% fit a distribution to the data
bar = fitdist(my_dist, 'kernel')
% generate 100 random numbers from the distribution
random(bar, 100, 1)
%% Fitting a discrete distribution
% Use a poisson distribution to generate a 1000 random integers with mean = 6.8
Z = poissrnd(6.8, 1000,1);
foobar = fitdist(Z, 'poisson')
% generate 100 random numbers from the distribution
random(foobar, 100, 1)