Funktionspunkte können nicht zum Diagramm hinzugefügt werden (gif)

Funktionspunkte können nicht zum Diagramm hinzugefügt werden (gif)

Ich habe dieses Skript geschrieben, um eine Funktion zu erstellen, die nach rechts gleitet und immer zwei Punkte des Diagramms als schwarze Punkte bezeichnet:

\documentclass[tikz]{standalone}
 \usepackage{tikz,pgfplots}
 \pgfplotsset{compat=1.16}
 \pgfplotsset{ticks=none}
 \begin{document}
 \tikzset{declare function={bellshape(\x,\mu,\sigma)=exp(-(\x-\mu)^2/(2*\sigma^2));}}
 \usetikzlibrary{intersections}
 \foreach \center in {-5,-4.9,...,5}
 {
   \begin{tikzpicture}
       \begin{axis}[scale=3,
                   width=4cm,
                   xmin=-3, xmax=3, 
                   ymin=-.05, ymax=1.4,
                   axis line style={draw=none},
                   ]
           \addplot [only marks, samples at={-3,3}]
             {bellshape(x,\center,.5)};
           \addplot [domain=-5:5, samples=300,color=blue, name path=A]
             {bellshape(x,\center,.5)};
       \end{axis}
   \end{tikzpicture}
 }
 \end{document}

Und genau das hatte ich beabsichtigt:

Bildbeschreibung hier eingeben Aber ich versuche auch, eines für das Wellenpaket unten zu erstellen.

\documentclass[tikz]{standalone}
  \usepackage{tikz,pgfplots}
  \pgfplotsset{compat=1.16}
  \pgfplotsset{ticks=none}
  \begin{document}
  \tikzset{declare function={bellshape(\x,\mu,\sigma)=exp(-(\x-\mu)^2/(2*\sigma^2));}}
  \usetikzlibrary{intersections}
  \foreach \center in {-350,-320,...,350}
  {
    \begin{tikzpicture}
        \begin{axis}[scale=3,
                    width=4cm,
                    xmin=-250, xmax=250, 
                    ymin=-1, ymax=1,
                    axis line style={draw=none},
                    ]
            \addplot [only marks, samples at={-250,250}]
            {.1*(bellshape(x,\center-100,25)+bellshape(x,\center-50,25)+bellshape(x,\     center,25)+bellshape(x,\center+50,25)+bellshape(x,\center+100,25))*sin(     deg(20*pi*x))};
            \addplot [domain=-600:600,samples=400,color=blue]
            {.1*(bellshape(x,\center-100,25)+bellshape(x,\center-50,25)+bellshape(x,\     center,25)+bellshape(x,\center+50,25)+bellshape(x,\center+100,25))*sin(     deg(20*pi*x))};
        \end{axis}
    \end{tikzpicture}
  }
  \end{document}

Ich bin derselben Idee gefolgt (habe dieselbe Funktion der blauen Linie in die Funktion nur für die beiden schwarzen Punkte eingefügt), bekomme aber keine Bewegung von den beiden schwarzen Punkten. Als ich versuchte, die „Sinus“-Funktion herauszunehmen, bewegten sich die schwarzen Punkte zu den „Glockenform“-Funktionen, also glaube ich, dass der Fehler bei der Sinus-Funktion liegen muss? Hat jemand eine Idee, wie man das beheben könnte?

Bildbeschreibung hier eingeben

Antwort1

Es gibt ein paar Dinge in Ihrem Code, die ich nicht verstehe, vor allem die Parametrisierung des Wellenpakets. In Ihrem Fall ist es eine Summe von Gaußschen Kurven, von denen jede sich mit der gleichen Geschwindigkeit bewegt, multipliziert mit einem Gesamtwert vonstationärPhase. Warum? Auf jeden Fall ist dies der Grund, warum Sie den Effekt haben, den Sie beobachten. Die samples atDarstellung wird mit multipliziert , was bei und *sin(deg(20*pi*x))Null ist .x=-250x=250

Ich würde mich für ein eher physisches Wellenpaket entscheiden.

\documentclass[tikz]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\pgfplotsset{ticks=none}
\begin{document}
\tikzset{declare function={bellshape(\x,\mu,\sigma)=exp(-(\x-\mu)^2/(2*\sigma^2));
wavepacket(\x,\mu,\sigma,\k)=bellshape(\x,\mu,\sigma)*sin(\k*(\x-\mu));}}
\foreach \X in {-350,-320,...,350}
  {
    \begin{tikzpicture}
        \begin{axis}[%scale=3,
                    width=4cm,
                    xmin=-250, xmax=250, 
                    ymin=-1, ymax=1,
                    axis line style={draw=none},
                    ]
  \addplot [only marks, samples at={-250,250}]
            {0.1*(wavepacket(x,\X-100,25,4)+
                wavepacket(x,\X-50,25,4)+
                wavepacket(x,\X-25,25,4)+
                wavepacket(x,\X+25,25,4)+
                wavepacket(x,\X+50,25,4)+
                wavepacket(x,\X+100,25,4))};
  \addplot [domain=-250:250,samples=251,color=blue,smooth]
            {0.1*(wavepacket(x,\X-100,25,4)+
                wavepacket(x,\X-50,25,4)+
                wavepacket(x,\X-25,25,4)+
                wavepacket(x,\X+25,25,4)+
                wavepacket(x,\X+50,25,4)+
                wavepacket(x,\X+100,25,4))};
        \end{axis}
    \end{tikzpicture}
  }
\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen