2010-10-12 2 views
1

Почему следующие ошибки приводят к делению на 0?График Mathematica, исключить конечные точки?

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

Он успешно исключает точки на Pi и Pi 2, но не указывает на 0 и 3 Pi. Если я исключил конечные точки, изменив интервал ...

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

У меня нет ошибок.

Как вы исключаете конечные точки участка?

спасибо,
Роб

+0

Какой версии Mathematica вы используете? В 7.0 конечные точки исключаются, не вымачивая интервал, но ошибки все еще испускаются. –

+0

Я использую 7.0 (студенческое издание, OS X). –

ответ

3

В данном конкретном случае, вы можете переформулировать участок с Csc[t] вместо 1/Sin[t] и вещи, кажется, работают:

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

Mathematica graphics

Я подозреваю, что поведение с 1/Sin[t] является просто ошибкой и сообщит об этом как таковой.

В общем более-обходном пути, вы можете обернуть оригинальное выражение с Quiet для surpress сообщения об ошибках:

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

Спасибо! Я не знал о Тихом. –

Смежные вопросы