Можете ли вы помочь мне создать двумерную гауссовскую выборку с заданными средними значениями и дисперсиями?
Я знаю только, как сделать кривую Гаусса :D
\documentclass{article}
\usepackage{paralist,pst-func, pst-plot, pst-math, pstricks-add,pgfplots}
\usetikzlibrary{patterns,matrix,arrows}
\begin{document}
\begin{tikzpicture}
\begin{axis}[hide axis,clip=false,xmin=-4,xmax=4,xlabel={X},ymin=0,ymax=1]
\addplot[color=lime, samples=100] {1/sqrt(2)*exp(-(x+1)^2/1)} ;
\end{axis}
\end{tikzpicture}
\end{document}
И вот формула для этого:
И это будет примером трех нормальных распределений вместе:
решение1
Для этого вам нужен способ генерации нормально распределенных случайных чисел. Один из способов сделать это — использовать преобразование Бокса-Мюллера.
Вот пример использования PGFPlots для этого (основан на моем ответе наTikZ: Рисование тех же данных с помощью диаграмм рассеяния и параллельных координат). Я построил графики маргинальных распределений, чтобы показать, что числа действительно приблизительно нормальны:
\documentclass{article}
\usepackage{pgfplots}
% Create a function for generating inverse normally distributed numbers using the Box–Muller transform
\pgfmathdeclarefunction{invgauss}{2}{%
\pgfmathparse{sqrt(-2*ln(#1))*cos(deg(2*pi*#2))}%
}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
axis equal image,
xmin=-2.5,xmax=2.5,
ymin=-2.5, ymax=2.5,
enlargelimits=false,
xtick=data,
xticklabel=\empty,
ytick=data,
yticklabel=\empty,
extra x ticks={-2,...,2},
every extra x tick/.style={
tick align=outside,
xticklabel=\pgfmathprintnumber{\tick}
},
extra y ticks={-2,...,2},
every extra y tick/.style={
tick align=outside,
yticklabel=\pgfmathprintnumber{\tick}
}
]
\addplot [only marks, samples=100] ({invgauss(rnd,rnd)},{invgauss(rnd,rnd)});
\end{axis}
\end{tikzpicture}
\end{document}