Pgfplots e MATLAB fornecem resultados diferentes

Pgfplots e MATLAB fornecem resultados diferentes

Preciso plotar uma função usando pgfplots, mas o resultado é diferente do esperado. O domínio deveria ser 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}

Observe que o domínio teve que ser definido como 55 para mostrar toda a função. Embora o código MATLAB seja o seguinte:

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

eu liesta respostamas não ajudou neste caso.

Responder1

Matlab sine cosassume radianos como entrada, enquanto pgf's sine cosassume graus. Pois pgfplotsvocê pode adicionar trig format=radopções \addplotpara obter o mesmo comportamento do Matlab e então domain=0:1funciona.

insira a descrição da imagem aqui

\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}

informação relacionada