三角问题:如何改变频率

三角问题:如何改变频率

我会改变让这个 TiKZ 函数绘制频率波的公式。

\documentclass{standalone}

\usepackage{tikz}

\usepackage{pgfplots}

\pgfplotsset{compat=1.15}

\begin{document}

    \newcommand{\xmax}{14}
    \newcommand{\fmin}{(pi/3)}
    \newcommand{\fmax}{(2*pi)}
\begin{tikzpicture}[domain=0:\xmax, samples=500]

    \draw[ultra thick, red] plot (\x, {sin(deg(exp(ln(\fmin)+\x/\xmax*(ln(\fmax)-ln(\fmin)))*\x))} );

\end{tikzpicture}
\end{document}

我想我明白了它的工作原理。但我仍然无法获得我想要的结果。

我认为,绘制函数

\draw[ultra thick, red] plot (\x, {sin(deg(exp(ln(\fmin)+\x/\xmax*(ln(\fmax)-ln(\fmin)))*\x))} );

可以不使用循环(foreach 或类似方法)绘制波形,因为\begin{tikzpicture}[domain=0:\xmax, samples=500]参数(domain= 0:\xmax)告诉\begin{tikzpicture}\drawo 到\xmax

但是,我无法改变\draw以获得从高频到低频的图像。

我不明白三角函数。

有人能帮我修改这个函数来实现这个功能吗?

答案1

只要没有文字等,只需用来xscale=-1反转左右即可

\documentclass{standalone}

\usepackage{tikz}

\usepackage{pgfplots}

\pgfplotsset{compat=1.15}

\begin{document}

    \newcommand{\xmax}{14}
    \newcommand{\fmin}{(pi/3)}
    \newcommand{\fmax}{(2*pi)}
\begin{tikzpicture}[domain=0:\xmax, samples=500,xscale=-1]

    \draw[ultra thick, red] plot (\x, {sin(deg(exp(ln(\fmin)+\x/\xmax*(ln(\fmax)-ln(\fmin)))*\x))} );

\end{tikzpicture}
\end{document}

在此处输入图片描述


如果您可以使用axis环境pgfplots,那么您还可以反转 x 轴的方向:

\documentclass{standalone} 
\usepackage{pgfplots}

\begin{document}

  \begin{tikzpicture}
    \begin{axis}[
      samples=1000,
      x dir=reverse,
      hide axis
    ]
      \addplot[domain=0:14] (x, {sin(deg(exp(ln((pi/3))+x/14*(ln((2*pi))-ln((pi/3))))*x))} );

    \end{axis}
  \end{tikzpicture}

\end{document}

在此处输入图片描述

(需要 pgfplots > 1.3)

相关内容