Tikz:如何绘制反秒和反余弦?

Tikz:如何绘制反秒和反余弦?

绘制 arctan 和 arccot 很容易,但绘制逆 sec 和 csc 函数似乎很难。有人能做到吗?

答案1

使用这个pgfplots包,可以很容易地用 TikZ 进行绘图,就像

\documentclass[tikz]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
  \begin{axis}[domain = -1:1, samples = 500]
    \addplot[color = red]  {asin(x)};
    \addplot[color = blue] {acos(x)};
  \end{axis}
\end{tikzpicture}
\end{document}

效果很好

在此处输入图片描述

请注意,您需要将函数的范围限制为合理的范围 ([-1,1]),并获取平滑的曲线以获得足够的样本(在所用范围内计算的点)。还请注意,PGF 数学引擎以度为单位工作:您当然可以将如果需要,轴转换为弧度(问题没有具体说明)。

为了例如反正割最明显的方法是使用标准恒等式(例如http://en.wikipedia.org/wiki/Arcsecant)并再次选择适当的域,但要“部分”。例如

\documentclass[tikz]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
  \begin{axis}[samples = 500]
    \addplot[domain = -10:-1, color = red] {acos(1/x)};
    \addplot[domain = 1:10, color = red]   {acos(1/x)};
  \end{axis}
\end{tikzpicture}
\end{document}

给出

在此处输入图片描述

这是反正割函数在希望有用的范围内的图。

答案2

这个答案早就为你准备好了。

\documentclass[pstricks,border=0pt,12pt,dvipsnames]{standalone}
\usepackage{amsmath}
\usepackage{pst-plot}
\usepackage[nomessages]{fp}

\FPeval\XMin{0-5}
\FPeval\XMax{5}
\FPeval\YMin{0-pi/3}
\FPeval\YMax{pi}

\FPeval\XOL{0-1/3} % of DeltaX
\FPeval\XOR{1/3} % of DeltaX
\FPeval\YOB{0-1/3} % of DeltaY
\FPeval\YOT{1/3} % of DeltaY

\FPset\TrigLabelBase{3}
\FPeval\DeltaX{1}
\FPeval\DeltaY{pi/TrigLabelBase}

\FPeval\AxisL{XMin+DeltaX*XOL}
\FPeval\AxisR{XMax+DeltaX*XOR}
\FPeval\AxisB{YMin+DeltaY*YOB}
\FPeval\AxisT{YMax+DeltaY*YOT}

\newlength\Width\Width=12cm
\newlength\Height\Height=8cm

\newlength\llx\llx=-5pt
\newlength\urx\urx=15pt
\newlength\lly\lly=-5pt
\newlength\ury\ury=15pt


\psset
{
    llx=\llx,
    lly=\lly,
    urx=\urx,
    ury=\ury,
    xtrigLabels=false,
    ytrigLabels=true,
    trigLabelBase=\TrigLabelBase,
    labelFontSize=\scriptstyle,
    xAxisLabel=$x$,
    yAxisLabel=$y$,
    algebraic,
    plotpoints=500,
}

\def\f{acos(1/x)}
\def\g{acos(x)}

\begin{document}
\pslegend[lt]{%
    \color{NavyBlue}\rule{12pt}{1pt} & \color{NavyBlue} $y=\sec^{-1} x$\\
    \color{Red}\rule{12pt}{1pt} & \color{Red} $y=\cos^{-1} x$
}
\begin{psgraph}
    [
        dx=\DeltaX,
        dy=\DeltaY,
        linecolor=gray,
        tickcolor=gray,
        ticksize=-3pt 3pt,
        axespos=top,
    ]{<->}(0,0)(\AxisL,\AxisB)(\AxisR,\AxisT){\dimexpr\Width-\urx+\llx}{!}%{\dimexpr\Height-\ury+\lly}
    \psaxes
    [
        dx=\DeltaX,
        dy=\DeltaY,
        labels=none,
        subticks=5,
        tickwidth=.4pt,
        subtickwidth=.2pt,
        tickcolor=Red!30,
        subtickcolor=ForestGreen!30,
        xticksize=\YMin\space \YMax,
        yticksize=\XMin\space \XMax,
        subticksize=1,
    ](0,0)(\XMin,\YMin)(\XMax,\YMax)
    \psplot[linecolor=NavyBlue]{-5}{-1}{\f}
    \psplot[linecolor=NavyBlue]{1}{5}{\f}
    \psplot[linecolor=Red]{-1}{1}{\g}
\end{psgraph}
\end{document}

在此处输入图片描述

文档

在此处输入图片描述

无需加载,pst-math因为pst-plot已经定义了以下函数。

  • sin,,,,以弧度为cos单位tanacosasin
  • logln
  • ceiling,,,,floortruncateround
  • sqrt(平方根)
  • abs(绝对值)
  • fact(阶乘)
  • Sum
  • IfTE(格结构)

答案3

需要最新的pst-math.pro(TL 2014)或替换ASEC(x)ACOS(1/x)ACSC(x)ASIN(1/x)

\documentclass{article}
\usepackage{pst-plot,pst-math}
\begin{document}

\begin{pspicture}(-5,-2)(5,4)
\psaxes[ytrigLabels,trigLabelBase=2,dy=1.57]{->}(0,0)(-5,-2)(5,4)
\psset{linewidth=1.5pt,algebraic}
\psplot[linecolor=cyan,arrows=-*,algebraic]{-5}{-1}{ASEC(x)}
\psplot[linecolor=cyan,arrows=*-]{1}{5}{ASEC(x)}
\psplot[linecolor=magenta,arrows=-*]{-5}{-1}{ACSC(x)}
\psplot[linecolor=magenta,arrows=*-]{1}{5}{ACSC(x)}
\end{pspicture}

\end{document}

使用xelatex或运行latex->dvips->ps2pdf

在此处输入图片描述

相关内容