mathematica中误导性的情节问题

时间:2011-03-04 23:06:00

标签: wolfram-mathematica

我想通过在mathematica中绘制它们来研究一些“奇怪”的功能。一个例子如下:

mod2[x_] := Which[Mod[x, 2] >= 1, -2 + Mod[x, 2], True, Mod[x, 2]];
f[x_] := Which[-1 <= x <= 1, Abs[x], True, Abs[mod2[x]]];
fn[x_, n_] := Sum[(3/4)^i*f[4^n*x], {i, 0, n}]
Plot[{fn[x, 0], fn[x, 1], fn[x, 2], fn[x, 5]}, {x, -2, 2}]

但是,我从mma获得的情节具有误导性,因为fn[x, 5]的最大值和最小值应该在相同的两个级别上。但是由于函数的高振荡,以及显然mma只需要有限数量的点来绘制函数的事实,你会看到该图表现出奇怪的行为。为了解决这个问题,你可以选择补救吗?

plot of fn

非常感谢。

1 个答案:

答案 0 :(得分:9)

你需要增加PlotPoints的设置以获得“好”的结果。

Plot[Evaluate[
  Reverse[{fn[x, 0], fn[x, 1], fn[x, 2], fn[x, 5]}]], {x, -2, 2}, 
 PlotPoints -> 4000]

(我也颠倒了函数的顺序,以便能够看到所有曲线。) enter image description here