我目前不知道如何绘制以下表达式 f(x) = cos(11x) - cos(12x)
该图应如下所示:
但是当我添加以下代码时:
\begin{tikzpicture}
\begin{axis}[
clip=false,
xmin=0,xmax=6.5*pi,
xlabel= $t$,
ylabel=$f(t)$,
ymin=-2.5,ymax=2.5,
axis lines=middle,
%axis x line=middle,
%axis y line=left,
% axis x line=middle,
xtick={},
%
xticklabels={,,},
xtick style={draw=none}
]
%\addplot[domain=0:2*pi,samples=200,red]{sin(deg(x))}
%node[right,pos=0.9,font=\footnotesize]{$f(x)=\sin x$};
\addplot[domain=0:6*pi,samples=200,LightSeaGreen]{cos(deg(11*x)) - cos(deg(12*x))}
node[below right,pos=1,font=\footnotesize]{$f(t)=\cos(11t) - \cos(12t)$};
\end{axis}
\end{tikzpicture}
这就是我得到的结果(带有锯齿状边缘),看起来不太好。
有没有什么好办法可以解决这个问题?如果 TikZ 看起来更好,我也很愿意接受其他建议,比如用 Asymptote 之类的软件来代替它(我试过但看起来更糟,我不得不承认我只是从 Asymptote 开始,我通常会得到不错的结果,但像这样更复杂的东西目前超出了我的有限知识范围)。
在此先感谢您提供的任何帮助。
答案1
这是该图的渐近线版本。
import graph;
unitsize(6mm,1.5cm);
real f(real t){return cos(11*t)-cos(12*t);}
real h(real t){return -2*sin(.5*t);}
int smooth=500;
real a=0, b=19;
path grf=graph(f,a,b, smooth);
path grh=graph(h,a,b, smooth);
draw(grh,lightblue);
draw(yscale(-1)*grh,lightblue);
draw(grf,magenta);
label("$f(t)=\cos(11t) - \cos(12t)$",(10,2.5),magenta);
label("$h(t)=\pm 2\sin(t/2)$",(6,-2.5),lightblue);
real[] y={-2,-1,1,2};
xaxis("$t$",0,20,Arrow(TeXHead));
yaxis(Label("$y$",align=E),-2.4,2.4,LeftTicks(y),Arrow(TeXHead));
add(bbox(5mm,invisible));
更新:由于 h(t) 是周期性的,而 f(t) 不是周期性的,我们可以使用Hermite
(标准三次样条插值),如渐近线手册。范围应该是0
和6*pi
。说实话,我看不出有什么区别^^
int smooth=500;
path grf=graph(f,0,6*pi, smooth,Hermite);
path grh=graph(h,0,6*pi, Hermite(periodic));
补充说明:该图显示节拍现象在音乐中,当混合(叠加、添加)两个频率不同但接近的声音时,请参见例如