在单峰图上绘制序列

在单峰图上绘制序列

我想用 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}

相关内容