我正在尝试使用此代码绘制一个函数
\begin{tikzpicture}
% Draw the log-normal distribution curve
\draw[blue,smooth,thick] plot[id=f1,domain=0.001:6,samples=50]
function {(1/(0.5*x*(2*pi)**0.5))*exp(-ln(x)*ln(x)/0.5)};
% Draw the x-axis
\draw[->,black] (0,0) -- (6.5,0);
% Draw the y-axis
\draw[->,black] (0,0) -- (0,5);
\end{tikzpicture}
轴线工作正常,但编译时出现奇怪的错误,无法创建 pdf。我按照手册和网上的许多示例操作,但没有任何效果。
答案1
通过 pgfplots,这是一个解决方案。
代码
\documentclass{beamer}
\usepackage{pgfplots}
\begin{document}
\begin{frame}
\begin{tikzpicture}
\begin{axis}[domain=0.001:6,
samples=50,
grid=major,smooth,
xlabel=$x$,
ylabel=$y(x)$,
legend pos=north east]
\addplot [color=red,thick] {(1/(0.5*x*(2*pi)^0.5))*exp(-ln(x)*ln(x)/0.5)};
\legend{${\frac{1}{(0.5x(2\pi)^{0.5})}e^{-\frac{\ln(x)\ln(x)}{0.5}}}$}
\end{axis}
\end{tikzpicture}
\end{frame}
\end{document}
更新:这是使用 OP 所需方法的另一次尝试。
代码
\documentclass{beamer}
\usepackage{tikz}
%\usepackage{pgfplots}
\begin{document}
\begin{frame}
\begin{tikzpicture}[scale=2]
\draw[blue,smooth,thick]
plot [id=exp,domain=0.001:6,samples=50]
(\x,{1/(0.5*\x*(2*pi)^(0.5))*exp(-ln(\x)*ln(\x)/0.5)});
% Draw the x-axis
\draw[->,black] (0,0) -- (6.5,0);
% Draw the y-axis
\draw[->,black] (0,0) -- (0,1);
\end{tikzpicture}
\end{frame}
\end{document}
更新 2:如果gnuplot
需要。这就是方法。自然对数函数ln
对于 是错误的gnuplot
,应该是log
。此方法需要gnuplot
安装并使用外部调用
pdflatex -enable-write18 (or -shell-escape) filename.tex
方案代码gnuplot
。
\documentclass{beamer}
\usepackage{tikz}
%\usepackage{pgfplots}
\begin{document}
\begin{frame}
\begin{tikzpicture}[scale=2]
%Draw the log-normal distribution curve
\draw[blue,smooth,thick]
plot [id=test,domain=0.001:6,samples=50] function
{(1/(0.5*x*(2*pi)**0.5))*exp(-log(x)*log(x)/0.5)};
%\draw[blue,smooth,thick] % keep this command here for comparison purpse
%plot [domain=0.001:6,samples=50]
%(\x,{1/(0.5*\x*(2*pi)^(0.5))*exp(-ln(\x)*ln(\x)/0.5)});
% Draw the x-axis
\draw[->,black] (0,0) -- (6.5,0);
% Draw the y-axis
\draw[->,black] (0,0) -- (0,1);
\end{tikzpicture}
\end{frame}
\end{document}
答案2
我建议你使用它pgfplots
进行绘图。但是,以下方法有效:
\documentclass{beamer}
\usepackage{tikz}
\begin{document}
\begin{frame}
\begin{tikzpicture}
% Draw the log-normal distribution curve
\draw[blue,smooth,thick] plot[id=f1,domain=0.001:6,samples=50]
({\x,{(1/(0.5*\x*(2*pi)^0.5))*exp(-ln(\x)*ln(\x)/0.5)}});
% Draw the x-axis
\draw[->,black] (0,0) -- (6.5,0);
% Draw the y-axis
\draw[->,black] (0,0) -- (0,3);
\end{tikzpicture}
\end{frame}
\end{document}
您的函数定义有错误。