Эквипотенциальные линии / контурная диаграмма с особенностями

У меня проблемы с созданием графика с эквипотенциальными линиями в gnuplot. Вот что я получил так далеко:

f(x,y) = atan(y/(x+d))
d = 1.0

set view map
set isosamples 127, 127
unset surface 
set contour base
set cntrparam levels discrete pi/4.0

set xrange [ -2.0 : 2.0 ] noreverse nowriteback
set yrange [ -2.0 : 2.0 ] noreverse nowriteback

splot f(x,y) w l

Кажется, это хорошо работает, вы можете увидеть линию с градиентом 45°, за исключением линии в x=-1:

мой сюжетный результат

Я думаю, что это из-за сингулярности в аргументе atan, В моем последнем сюжете есть еще больше подобных особенностей с похожими линиями, не вписывающимися в него.

Другое дело: линии должны пройти [-1,0], но вы можете четко видеть дыру в линии. Как я могу получить чистый участок без дырок и неправильных линий?

  1. Как я могу справиться с этой проблемой?
  2. Если нет, может быть, есть другой способ построения эквипотенциальных линий?
  3. В качестве последнего решения - что вы порекомендуете, если gnuplot не может этого сделать?

Спасибо:)

0 ответов

Другие вопросы по тегам