축 환경에서 pgfplots를 사용하여 arcsin(sin(x))을 그리는 방법은 무엇입니까?

축 환경에서 pgfplots를 사용하여 arcsin(sin(x))을 그리는 방법은 무엇입니까?

PGFplot을 사용하여 축 환경 내에서 arcsin(sin(x)) 함수를 플롯하고 싶습니다. 내가 얻은 동작은 arcsin과 sin 함수가 x -> x 함수를 생성하기 위해 다른 것보다 먼저 서로를 상쇄한다고 믿게 하는데, 이는 정확히 적절한 동작이 아닙니다.

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

그러면 다음과 같은 출력이 생성됩니다. 주어진 코드의 출력.

그러나 출력은 다음과 같아야 합니다. 여기에 이미지 설명을 입력하세요

이 문제를 해결하는 방법은 무엇입니까? 특히 너무 많은 하위 간격에서 기능이 중단되는 것을 피하는 방법을 찾고 있습니다. 이는 매우 지루할 수 있기 때문입니다.

답변1

@mickeo가 말했듯이 sin함수에 대해 먼저 x를 deg로 변환한 다음 함수 다음에 라디안을 다시 변환 해야 합니다 asin.

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

여기에 이미지 설명을 입력하세요

관련 정보