Ich zeichne einige grundlegende hochsymmetrische Bandstrukturen in einfacher Darstellung auf tikz
. Wie Sie sehen, sollte die Untergrenze jeder dieser Funktionen bei Folgendem liegen:
Die dargestellte Funktion zeigt stattdessen eine andere Untergrenze (siehe Abbildung unten) mit einer Abweichung von genau .5
. Woher kommt das? Ich konnte keinen Fehler im Code finden, der zu dieser Abweichung führen könnte.
\documentclass{article}
\usepackage{tikz,pgffor}
\usepackage{amsmath,mathtools}
\begin{document}
\begin{tikzpicture}
\draw[->] (0,1) -- (3.25*pi,1);
\draw[->] (0,1) -- (0,6.7);
\node[below] at (0,1) {$\Gamma$};
\node[above] at (0,6.7) {$E_k$ (eV)};
\draw[-] (pi,6.7) -- (pi,1) node[below] {$\mathrm{X}$};
\draw[-] (2*pi,6.7) -- (2*pi,1) node[below] {$\mathrm{M}$};
\draw[-] (3*pi,6.7) -- (3*pi,1) node[below] {$\Gamma$};
\foreach \i in {1,...,6}{
\node at (-.3,\i) {$\mathllap{\i}$};
\draw[-] (-.15,\i) -- (0,\i);
}
\draw[domain=0:pi] plot function{((2)+(-1))/2+.5*sqrt(((2)-(-1))*((2)-(-1))+16*1.5*((sin(x/2))*(sin(x/2))))};
\draw[domain=pi:2*pi] plot function{((2)+(-1))/2+.5*sqrt(((2)-(-1))*((2)-(-1))+16*1.5*((sin(pi/2))*(sin(pi/2))+((sin((x-pi)/2))*(sin((x-pi)/2)))))};
\draw[domain=2*pi:3*pi] plot[id=sin] function{((2)+(-1))/2+.5*sqrt(((2)-(-1))*((2)-(-1))+16*1.5*((sin(pi/2))*(sin(pi/2))+((sin((x-pi)/2))*(sin((x-pi)/2)))-((sin((x)/2))*(sin((x)/2)))))};
\end{tikzpicture}
\end{document}
Antwort1
Wie Jake betonte, gnuplot
verwendet es eine Ganzzahldivision, wodurch der Ausdruck ((2)+(1))/2
ungleich ist ((2.)+(1.))/2.
, wobei zwischen den beiden Ausdrücken eine Differenz von besteht 0.5
.