
Я пытался использовать GeoGebra для создания графика нормального распределения, а затем экспортировать его в PGF/TikZ. Я получил следующие коды LaTex. Но когда я вставил их в TexStudio и скомпилировал, я получил сообщение об ошибке line 19: Dimension too large \end{frame}
. Что мне делать? Спасибо!
\documentclass[10pt]{beamer}
\usepackage{pgf,tikz}
\usetikzlibrary{arrows}
\pagestyle{empty}
\begin{document}
\begin{frame}
\begin{tikzpicture}[line cap=round,line join=round,>=triangle 45,x=1.0cm,y=1.0cm]
\draw[->,color=black] (-4,0) -- (4,0);
\foreach \x in {-4,-3,-2,-1,1,2,3}
\draw[shift={(\x,0)},color=black] (0pt,2pt) -- (0pt,-2pt);
\draw[->,color=black] (0,-0.01) -- (0,0.46);
\foreach \y in {,0.2,0.3,0.4}
\draw[shift={(0,\y)},color=black] (2pt,0pt) -- (-2pt,0pt);
\clip(-4,-0.01) rectangle (4,0.46);
\onslide<2->{
\draw[smooth,samples=100,domain=-4.0:4.0] plot(\x,{2.718281828^((-((\x))^2)/(1^2*2))/(abs(1)*sqrt(3.1415926535*2))});
}
\end{tikzpicture}
\end{frame}
\end{document}
решение1
Основная ошибка исходит от 2.718281828^ для экспоненциального оператора, который должен быть exp()
. Вторая ошибка заключается в том, что clip
команда должна быть ограничена scope
средой. Поскольку нормальное распределение очень мало, yscale=4
используется в области видимости для увеличения для лучшего обзора.
\documentclass[10pt]{beamer}
\usepackage{pgf,tikz}
\usetikzlibrary{arrows}
\pagestyle{empty}
\begin{document}
\begin{frame}
\begin{tikzpicture}[line cap=round,line join=round,>=triangle 45]
\begin{scope}[yscale=4]
\draw[->,color=black] (-4,0) -- (4,0);
\foreach \x in {-4,-3,-2,-1,1,2,3}
\draw[shift={(\x,0)},color=black] (0pt,2pt) -- (0pt,-2pt);
\draw[->,color=black] (0,-0.01) -- (0,0.46);
\foreach \y in {0,0.1,0.2,0.3,0.4}
\draw[shift={(0,\y)},color=black] (2pt,0pt) -- (-2pt,0pt);
\clip(-4,-0.01) rectangle (4,0.46);
\onslide<2>{
%\draw[smooth,samples=100,domain=-4.0:4.0] plot(\x,{2.718281828^((-((\x))^2)/(1^2*2))/(abs(1)*sqrt(3.1415926535*2))}); <---- error in this line
\draw[smooth,samples=100,domain=-4.0:4.0]
plot(\x,{exp((-((\x))^2)/(1^2*2))/(abs(1)*sqrt(3.1415926535*2))});
%\draw[smooth,samples=100,domain=-4.0:4.0] plot(\x,{exp((-(\x)^2)/(2*1^2))/(abs(1)*sqrt(pi*2))}); <---- change 3.1415.... int0 pi
}
\end{scope}
\end{tikzpicture}
\end{frame}
\end{document}