Просто, чтобы упростить обсуждение ниже, строка
H = histfit(Wkinet(abs(Wkinet(:,j))>myTolerance, j) * erg2eV, nbins);
эквивалентна
data = Wkinet(abs(Wkinet(:,j))>myTolerance, j) * erg2eV;
H = histfit(data, nbins);
Это означает, что ниже мы будем предполагать, data
- это вектор.
histfit
вычисляет и строит гистограмму, хотя histogram
, затем подгоняет к ней функцию через fitdist
.Поскольку вы не хотите строить саму гистограмму, просто придерживайтесь fitdist
:
pd = fitdist(data,'Normal'); % this is the default distribution used in `histfit`, is it correct?
x = linspace(min(data),max(data),200); % 200 points in the graph, you might want to change this?
y = pdf(pd,x);
plot(x,y);
Теперь просто нормализовать график так, как мы хотим.Например, установите для первого элемента значение 1:
pd = fitdist(data,'Normal');
x = linspace(min(data),max(data),200);
y = pdf(pd,x);
y = y/y(1); % <<< Normalize
plot(x,y);