На самом деле вы можете использовать Sympy и plot_implicit
, чтобы получить то, что вы хотите.Вам просто нужно использовать версии функций Бесселя, поставляемых самой Sympy.Тем не менее, plot_implicit
, похоже, борется с этим конкретным уравнением:
import sympy as sym
x,y = sym.symbols('x y')
sym.plot_implicit(sym.Eq(sym.besselj(1,x)/(x*sym.besselj(0,x))+sym.besselk(1,y)/(y*sym.besselk(0,y)), 0), adaptive=False, points=100)
Вывод:
Я также получилпредупреждение:
/Users/tel/git/sympy/sympy/plotting/experimental_lambdify.py:165: UserWarning: The evaluation of the expression is problematic. We are trying a failback method that may still work. Please report this as a bug.
warnings.warn('The evaluation of the expression is'
Вы можете повысить точность результата, увеличив значение аргумента points
в вызове до implicit_plot
.Имейте в виду, что если вы сильно увеличите его, вычисление может занять много времени (например, пока не сгорит солнце).