Mathematica 绘图,排除端点?

发布于 2024-09-27 18:34:19 字数 407 浏览 1 评论 0原文

为什么下面的除以 0 时会出现错误?

ParametricPlot[{1/Sin[t], t}, {t, 0, 3 Pi}, Exclusions -> Sin[t] == 0]
Power::infy: Infinite expression 1/0 encountered.

它确实成功排除了 Pi 和 2 Pi 处的点,但没有排除 0 和 3 Pi 处的点。如果我通过更改间隔来排除端点...

ParametricPlot[{1/Sin[t], t}, {t, 0.001, 2.999 Pi}, Exclusions -> Sin[t] == 0]

我不会收到任何错误。

如何排除绘图的端点?

谢谢,

Why does the following give me errors about dividing by 0?

ParametricPlot[{1/Sin[t], t}, {t, 0, 3 Pi}, Exclusions -> Sin[t] == 0]
Power::infy: Infinite expression 1/0 encountered.

It does successfully exclude the points at Pi and 2 Pi, but not the points at 0 and 3 Pi. If I exclude the endpoints by changing the interval...

ParametricPlot[{1/Sin[t], t}, {t, 0.001, 2.999 Pi}, Exclusions -> Sin[t] == 0]

I get no errors.

How do you exclude the endpoints of a plot?

thanks,
Rob

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

傲影 2024-10-04 18:34:19

在这种特殊情况下,您可以使用 Csc[t] 而不是 1/Sin[t] 重新绘制绘图,并且事情似乎有效:

ParametricPlot[{Csc[t], t}, {t, 0, 3 Pi}, Exclusions -> {Sin[t] == 0}]

Mathematicagraphics

我怀疑 1/Sin[t] 的行为只是一个错误,并将如此报告。

作为更通用的解决方法,您可以使用 Quiet 包装原始表达式以抑制错误消息:

Quiet[ParametricPlot[{1/Sin[t], t}, {t, 0, 3 Pi}, 
    Exclusions -> Sin[t] == 0], Power::infy]

In this particular case, you can reformulate the plot with Csc[t] instead of 1/Sin[t] and things seem to work:

ParametricPlot[{Csc[t], t}, {t, 0, 3 Pi}, Exclusions -> {Sin[t] == 0}]

Mathematica graphics

I suspect the behavior with 1/Sin[t] is simply a bug and will report it as such.

As a more-general workaround, you can wrap your original expression with Quiet to surpress the error messages:

Quiet[ParametricPlot[{1/Sin[t], t}, {t, 0, 3 Pi}, 
    Exclusions -> Sin[t] == 0], Power::infy]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文