我想用 tikz 绘制类似这样的单峰图的 100 个迭代。我花了 7 个小时尝试,但没有成功。也许,你们中已经做过的人可以帮助我,谢谢。
苗条的
答案1
pst-plot
是为了解决您的问题而编写的。
diagram.tex
使用xelatex
(slower) 或(faster)编译以下内容latex-dvips-ps2pdf
以获得diagram.pdf
。
% diagram.tex
\documentclass[pstricks,border=12pt,12pt]{standalone}
\usepackage{pst-plot}
\def\f{-4*x*(x-1)/1.5}
\psset{unit=10}
\begin{document}
\multido{\i=1+1}{10}{%
\begin{pspicture}[algebraic](-.125,-.125)(1.25,1.25)
\psaxes[linecolor=gray]{->}(0,0)(-.125,-.125)(1.125,1.125)[$x$,0][$y$,90]
\psplot[linecolor=blue]{0}{1}{\f}
\psplot[linecolor=cyan]{-.125}{1}{x}
\psFixpoint[linecolor=red]{.1}{\f}{\i}
\end{pspicture}}
\end{document}
diagram.pdf
然后可以从主输入 () 文件中导入生成的 PDF 输出 ( ) main.tex
,如下所示。
% main.tex
\documentclass{beamer}
\usepackage{animate}
\usepackage{graphicx}
\begin{document}
\begin{frame}{Animation}
\animategraphics[controls,autoplay,loop,scale=1]{10}{diagram}{}{}
\end{frame}
\begin{frame}{Static Image}
\includegraphics[page=10]{diagram}
\end{frame}
\end{document}
main.tex
使用编译pdflatex
。完成!
作者注pst-plot
\psFixpoints
应该重新命名以\psFixedPoint
与数学中使用的正确术语保持一致。
答案2
使用 PGFPlots。本文档可直接使用pdflatex
(或xelatex
,或普通latex
...)进行编译。
\documentclass{beamer}
\usepackage{pgfplots}
\begin{document}
\pgfkeys{/pgf/declare function={f(\x)=-4*\x*(\x-1)/1.5;}}
\begin{frame}\centering
\begin{tikzpicture}
\begin{axis}[domain=0:1, enlargelimits=false, axis equal image]
\addplot [thick, black] {f(x)};
\addplot [thick, black] {x};
\pgfplotsextra{
\def\x{0.125}
\def\y{0}
\draw [red] (axis cs:\x,\y) \foreach \i in {0,...,20}{
\pgfextra{
\pgfkeys{/pgf/fpu=true, /pgf/fpu/output format=fixed}
\pgfmathparse{f(\x)}\xdef\y{\pgfmathresult}
}
-- (axis cs:\x,\y)
\pgfextra{\xdef\x{\y}}
-- (axis cs:{\x},{\y})
};}
\end{axis}
\end{tikzpicture}
\end{frame}
\end{document}