Mathematica 绘图有混叠问题

Mathematica plotting has aliasing problem

我想显示几个具有不同间隙的脉冲。我有功能

g[y_] = Piecewise[{{-Sin[y], 0 < y < 2 Pi}, {0, y < 0}, {0, 
y > 2 Pi}}]

合并成

f[z_, t_] = g[z - t]

pulse[n_, t_, z_] = Sum[f[z, i t], {i, n}]

有时它绘制所有脉冲,有时不绘制。工作时的示例: 绘图[{脉冲[5, 40, z - 100]/4}, {z, 0, 1000}, PlotRange -> {{0, 1000}, 全部}]

失败示例: 绘图[{脉冲[5, 40, z - 200]/4}, {z, 0, 1000}, PlotRange -> {{0, 1000}, 全部}]

壮观的失败: 绘图[{脉冲[5, 30, z - 260]/4}, {z, 0, 1000}, PlotRange -> {{0, 1000}, 全部}]

有没有办法解决这个问题,无论参数是什么,所有脉冲都会显示?

我们试试看能不能得到一样的东西

转到

https://www.wolframcloud.com/objects/b3m2a1/LetMeMathematicaThatForYou.html

耐心等待,直到出现“键入您的 Wolfram...”。

在其下方的大空白 space 中单击鼠标左键。

点击 x 键并耐心等待它出现。

点击后退space键,耐心等待直到它消失。

Scrape-n-paste正是这个

g[y_]:=Piecewise[{{-Sin[y],0<y<2Pi},{0,y<0},{0,y>2Pi}}];
f[z_,t_]:=g[z-t];
pulse[n_,t_,z_]:=Sum[f[z,i*t],{i,n}];
Plot[{pulse[5,30,z-260]/4},{z,0,1000},PlotRange->All]

进入大空space,耐心等待它出现。

Shift 和 Enter 并耐心等待直到结果出现。

我没有峰。

将最后一行更改为

Plot[{pulse[5,30,z-260]/4},{z,0,1000},PlotRange->All,PlotPoints->160]

然后按 Shift 和 Enter 并耐心等待结果出现。

我现在有 5 个峰。

如果你完全这样做,你会得到完全相同的结果吗?

您可以将 160 更改为 500 甚至 1000,这似乎对显示的绘图没有什么影响,只会稍微减慢速度。

该网页是一项非常不错的免费服务,对输入的大小和终止前的时间有严格的限制。请不要滥用它。谢谢