![지수를 그래프로 표시하지 않는 Tikz 그림](https://rvso.com/image/328461/%EC%A7%80%EC%88%98%EB%A5%BC%20%EA%B7%B8%EB%9E%98%ED%94%84%EB%A1%9C%20%ED%91%9C%EC%8B%9C%ED%95%98%EC%A7%80%20%EC%95%8A%EB%8A%94%20Tikz%20%EA%B7%B8%EB%A6%BC.png)
동일한 그래프에 두 개의 함수를 그래프로 표시하려고 합니다: y=1
및 g(x) = (e^(1/x))^3 - 1
.
그러나 표본 크기가 10보다 큰 함수 g를 그래프로 표시하면 그래프가 완전히 엉망이 됩니다. 나는 이것이 올바른 방정식이고 올바르게 그래프를 작성해야 한다는 것을 확인했지만 어떤 이유에서인지 그렇지 않습니다. 아래 내 코드는 다음과 같습니다
\begin{tikzpicture}
\begin{axis}[
axis lines = left,
xlabel = $x$,
ylabel = {$f(x)$},
]
\addplot [
domain=0:10,
samples=100,
color=red,
]
{exp(3/x) - 1};
\addlegendentry{$(e^{(1/\alpha)})^3-1$}
\addplot [
domain=0:10,
samples=100,
color=black,
]
{1};
\end{axis}
\end{tikzpicture}
답변1
플롯이 제대로 표시되지 않는 이유는 PGFplots가 최대(무한) 값을 계산하고 이를 사용하여 경계를 설정하기 때문입니다.와이중심선. 결과적으로 단계 크기가 ~10보다 작은 경우 0에 매우 가까운 점을 탐색하기 시작하여 매우 빠르게 무한대로 분기됩니다.
ymax
및 를 사용하여 축의 경계를 설정할 수 있습니다.ymin
.엑스중심선); 그러나 PGFplots는 TeX의 제한된 수치 기능을 사용하기 위해 몇 가지 영리한 트릭을 수행하므로 오버플로가 발생하므로 오류가 발생합니다.
귀하의 경우 가장 좋은 옵션은 restrict y to domain
핵심입니다. 이 옵션은 경계를 초과하는 값을 삭제하여 오버플로를 완전히 방지하도록 PGFplot에 지시합니다.
\documentclass[tikz,convert]{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
axis lines=left,
xlabel=$x$,
ylabel={$f(x)$},
restrict y to domain=0:100,
]
\addplot [
domain=0:10,
samples=100,
color=red,
]
{exp(3/x) - 1};
\addlegendentry{$(e^{(1/\alpha)})^3-1$}
\addplot [
domain=0:10,
samples=100,
color=black,
]
{1};
\end{axis}
\end{tikzpicture}
\end{document}