Чтобы все еще двигаться дальше (к более темным деталям), я дополнительно адаптировал ваш код так:
from numpy.random import uniform
from numpy import convolve, cumsum, histogram, linspace
s, e, n= -0.5, 0.5, 1e3
x, y, bins= uniform(s, e, n), uniform(s, e, n), linspace(s, e, n** .75)
pdf_x= histogram(x, normed= True, bins= bins)[0]
pdf_y= histogram(y, normed= True, bins= bins)[0]
c= convolve(pdf_x, pdf_y); c= c/ c.sum()
bins= linspace(2* s, 2* e, len(c))
# a simulation
xpy= uniform(s, e, 10* n)+ uniform(s, e, 10* n)
c2= histogram(xpy, normed= True, bins= bins)[0]; c2= c2/ c2.sum()
from pylab import grid, plot, show, subplot
subplot(211), plot(bins, c)
plot(linspace(xpy.min(), xpy.max(), len(c2)), c2, 'r'), grid(True)
subplot(212), plot(bins, cumsum(c)), grid(True), show()
Таким образом, давая графики примерно так:
Где верхняя часть представляетPDF
(синяя линия), которая действительно выглядит довольно треугольной, и симуляция (красные точки), которая отражает треугольную форму.Нижняя часть представляет CDF
, которая также выглядит, как следует, за ожидаемой S
-кривой.