Pgfplots und MATLAB liefern unterschiedliche Ergebnisse

Pgfplots und MATLAB liefern unterschiedliche Ergebnisse

Ich muss eine Funktion mit pgfplots darstellen, aber das Ergebnis weicht vom erwarteten ab. Die Domäne sollte sein 0:1.

\documentclass[tikz]{standalone}
\usepackage{pgfplots}
\begin{document}

\begin{tikzpicture}
    \begin{axis}[enlargelimits=false]
        \addplot[domain=0:55, samples=1001]{((sqrt((1 -cos(2*pi*x))^2+sin(2*pi*x)^2))^4)^2};
    \end{axis}
\end{tikzpicture}

\end{document}

Beachten Sie, dass die Domäne auf 55 gesetzt werden musste, um die gesamte Funktion anzuzeigen. Der MATLAB-Code lautet dabei wie folgt:

x=0:0.01:1;
plot(x,((sqrt((1-cos(2*pi*x)).^2+sin(2*pi*x).^2)).^4).^2)

ich habe gelesendiese Antwortaber in diesem Fall hat es nicht geholfen.

Antwort1

Matlabs sinund cosnehmen Radiant als Eingabe an, während pgfund sinGrad cosannehmen. Für pgfplotskönnen Sie trig format=raddie \addplotOptionen erweitern, um dasselbe Verhalten wie bei Matlab zu erhalten, dann domain=0:1funktioniert es.

Bildbeschreibung hier eingeben

\documentclass[tikz]{standalone}
\usepackage{pgfplots}
\begin{document}

\begin{tikzpicture}
    \begin{axis}[enlargelimits=false]
        \addplot[domain=0:1, samples=1001, trig format=rad]{((sqrt((1 -cos(2*pi*x))^2+sin(2*pi*x)^2))^4)^2};
    \end{axis}
\end{tikzpicture}
\end{document}

verwandte Informationen