在函数中的某些点之间画一条线

在函数中的某些点之间画一条线

我正在尝试绘制包络检测器的响应,为此我需要绘制连接特定点(例如

(x=0,(1.5+0.8*cos(x*2*180/pi))*cos(x*20*180/pi)) and (x=1.9*pi,(1.5+0.8*cos(1.9*pi*2*180/pi))*cos(1.9*pi*20*180/pi))

如何修改线路 \addplot[domain=0:2*pi,lava,samples=500] {(1.5+0.8*cos(x*2*180/pi))*cos(x*20*180/pi)};来实现这一点

  \begin{tikzpicture}[scale=1]
    \begin{axis}[
      hide axis,
      x=1cm,y=1cm,
      /tikz/line cap=rect, /tikz/line join=round
    ]
\addplot[domain=0:2*pi,black,samples=250,dashed] {0.8*cos(x*2*180/pi)+1.5};
\addplot[domain=0:2*pi,black,samples=250,dashed] {-(0.8*cos(x*2*180/pi)+1.5)};
\addplot[domain=0:2*pi,lava,samples=500] {(1.5+0.8*cos(x*2*180/pi))*cos(x*20*180/pi)};
\end{axis}
      \end{tikzpicture}

答案1

您可以指定 x 值列表来使用samples at键评估函数,例如

\addplot[domain=0:2*pi,blue,samples at={0,5.969}] {(1.5+0.8*cos(x*2*180/pi))*cos(x*20*180/pi)};

但似乎这些值并未作为数学表达式进行求值,因为1.9*pi在坐标列表中使用不起作用。因此改为 5.969。

相关内容