Построение функции плотности вероятности нормального распределения, но y превышает 1?

#plot #latex #normal-distribution #pgfplots

Вопрос:

Я пытаюсь построить функцию плотности вероятности различных нормальных распределений в latex. Все они имеют среднее значение 0, а стандартные отклонения составляют: 0,4339, 0,4931 и 0,3665.

Я использую этот код:

 documentclass[titlepage]{article}

usepackage[obeyspaces]{url}
usepackage{caption}
usepackage{xcolor}
usepackage{pgfplots}
usepackage{listings}
usetikzlibrary{calc}
lstset{
    showstringspaces=false,
    commentstyle=color{red},
    keywordstyle=color{blue},
    basicstyle=small,
    breaklines=true
}
usepackage{amsmath}
usepackage{subcaption}

pgfmathdeclarefunction{gauss}{2}{%
  pgfmathparse{1/(#2*sqrt(2*pi))*exp(-((x-#1)^2)/(2*#2^2))}%
}

begin{document}
begin{figure}[h]
centering
begin{subfigure}[h]{0.45linewidth}
begin{tikzpicture}[scale=0.8]
begin{axis}[every axis plot post/.append style={
  mark=none,domain=-2:2,samples=50,smooth},
  xmin=-1.6,
  xmax=1.6,
  ymin=0,
  xtick={},
  %ytick=empty,
  enlargelimits=auto
  ],
  addplot {gauss(0, 0.4339)};
  addplot {gauss(0, 0.4931)};
  addplot {gauss(0, 0.3665)};
  addlegendimage{empty legend}
  addlegendentry{$x$}
  addlegendentry{$y$}
  addlegendentry{$z$}
end{axis}
end{tikzpicture}
end{subfigure}
end{figure}
end{document}
 

В результате получается следующая картина:

Выход латекса

Вы можете видеть, что ось y увеличивается до ~1,1. Это не имеет смысла, верно? Поскольку вероятность этого должна быть ниже 1. Кроме того, интеграл функции должен иметь сумму 1, как я понимаю. Таким образом, в целом значения должны быть намного ниже.

Что я делаю не так, я что-то неправильно понимаю?

Ответ №1:

Изменить

 pgfmathdeclarefunction{gauss}{2}{%
  pgfmathparse{1/(#2*sqrt(2*pi))*exp(-((x-#1)^2)/(2*#2^2))}%
}
 

в

 pgfmathdeclarefunction{gauss}{2}{%
  pgfmathparse{exp(-((x-(#1))*((x-(#1)))/(2*(#2)*(#2)))/((#2)*sqrt(2*pi))}%
}
 

без использования функции питания ^2 , которая на самом деле вызывает pow(#1,2) , и использования всех скобок: возможно, в вашем дистрибутиве все еще есть эта ошибка.