pgfplots 不会绘制简单的三角函数

pgfplots 不会绘制简单的三角函数

我正在尝试绘制以下函数

d=6371000 * 反余弦(6371000/(6371000+x))

arccos(...) 输出以弧度表示的结果

以下是我得到的信息:

\documentclass[12pt,tikz,a4]{article}
\usepackage[utf8]{inputenc}
\renewcommand*\familydefault{\sfdefault}
\usepackage{tikz}
\usepackage{sansmath}
\usepackage{pgfplots}
\pgfplotsset{trig format plots=rad, compat=1.11}

\begin{document}
\begin{sansmath}

\begin{tikzpicture}
\begin{axis}[xmin=0, xmax=2, ymin=0, ymax=6000, xlabel=$h\ \mathrm{(m)}$, ylabel=$d\ \mathrm{(m)}$,]
\addplot[domain = 0:2, range = 0:6000, samples=500, smooth,] {(6371000) * (acos((6371000)/(6371000 + x)))};
\end{axis}
\end{tikzpicture}

\end{sansmath}
\end{document}

我得到了像这样的空图

在此处输入图片描述

如您所见,我在开始时指定函数以弧度为单位,根据 Desmos 的说法,它应该从 y=0-6000 和 x=0-2 正确绘制。我还尝试假设 arccos 以度为单位,但仍然没有绘制任何内容。有人知道我错在哪里吗?

答案1

解决使用以下代码:

\begin{tikzpicture}
\begin{axis}[xmin=0, xmax=2, ymin=0, ymax=6000, xlabel=$h\ \mathrm{(m)}$, ylabel=$d\ \mathrm{(m)}$,]
\addplot[domain=0:2, smooth] gnuplot[samples=1000] {6371000*acos(6371000/(6371000 + x))};
\end{axis}
\end{tikzpicture}

我删除了一些不必要的括号(例如 acos 周围的括号),并使用了 gnuplot。我相信这些组合现在使它工作了,但不确定为什么......

相关内容