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:
Sin embargo, el resultado debería ser el siguiente:
¿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 sin
la función y luego volver a convertir el radian después de la asin
funció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}