有没有办法强制ContourPlot重新检查它的递归算法的每个阶段的所有点?

时间:2011-02-05 07:09:39

标签: wolfram-mathematica

感谢Yaroslav Bulatov对Plot算法进行的this出色的分析,我现在明白Plot3DContourPlot无法顺利绘制断点和不连续性的原因。

例如,在以下情况下,ContourPlot无法绘制轮廓x ^ 2 + y ^ 2 = 1:

ContourPlot[Abs[x^2 + y^2 - 1], {x, -1, 1}, {y, -1, 1}, Contours -> {0}]

这是因为该算法没有深入到x ^ 2 + y ^ 2 = 1附近的区域。它在初始阶段“丢弃”该区域,并且不会尝试进一步研究它。在这个意义上,增加MaxRecursion没有任何作用。即使是未记录的选项Method -> {Refinement -> {ControlValue -> .01 \[Degree]}}也无济于事(但会使Plot3D更平滑一些。)

上述功能只是一个简单的例子。在现实生活中,我正在使用非常复杂的隐式函数,这些函数无法通过分析解决。

有没有办法让ContourPlot深入到休息和不连续附近的地区?

1 个答案:

答案 0 :(得分:3)

这些是标准图。

enter image description here

enter image description here

轮廓在10 ^ -20

enter image description here

他们对我很清楚。

你期望更准确的东西吗?

修改

如果您想使用Contours-> {0}选项,您可以使用:

enter image description here