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:
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?
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 at
Darstellung wird mit multipliziert , was bei und *sin(deg(20*pi*x))
Null ist .x=-250
x=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}