¿Cómo trazar arcsin(sin(x)) con pgfplots en el entorno del eje?

¿Cómo trazar arcsin(sin(x)) con pgfplots en el entorno del eje?

Me gustaría trazar la función arcsin(sin(x)) dentro de un entorno de eje usando PGFplots. El comportamiento que obtengo me lleva a creer que las funciones arcsin y sin se cancelan entre sí antes que nada para producir la función x -> x, que no es exactamente el comportamiento adecuado.

\documentclass{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\begin{document}
    \begin{tikzpicture}[line cap=round,line join=round,x=1cm,y=1cm]
        \begin{axis}[
        x=1cm,y=1cm,
        axis lines=middle,
        ymajorgrids=true,
        xmajorgrids=true,
        xmin=-8.5,
        xmax=8.5,
        ymin=-6.5,
        ymax=7.5,
        xtick={-10,-9,...,10},
        ytick={-7,-6,...,7},
        ]
            \addplot[smooth,samples=100,domain=-8.5:8.5] (\x,{asin(sin(\x))});
        \end{axis}
    \end{tikzpicture}
\end{document}

Esto produce el siguiente resultado: Salida del código dado.

Sin embargo, el resultado debería ser el siguiente: ingrese la descripción de la imagen aquí

¿Cómo solucionar esto? Especialmente estoy buscando una manera de evitar romper la función en tantos subintervalos, ya que esto puede resultar extremadamente tedioso.

Respuesta1

Como dijo @mickeo, primero debes convertir x a grados para sinla función y luego volver a convertir el radian después de la asinfunción.

\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
x=1cm,y=1cm,
axis lines=middle,
ymajorgrids=true,
xmajorgrids=true,
xmin=-8.5,
xmax=8.5,
ymin=-6.5,
ymax=7.5,
]
\addplot[green!50!black,very thick,smooth,samples=100,domain=-8.5:8.5] {asin(sin(deg(x)))*(pi/180)};
\end{axis}
\end{tikzpicture}
\end{document}

ingrese la descripción de la imagen aquí

información relacionada