我能在python中的贝塞尔函数中找到一个变量吗?

我能在python中的贝塞尔函数中找到一个变量吗?,python,python-3.x,scipy,Python,Python 3.x,Scipy,我正在使用Python来解一个方程。我在scipy.special中添加了“贝塞尔函数”,它正在工作。现在我想用贝塞尔函数找到一个变量。例如,我在Python中添加了order1和value0.44005058574,但它不起作用。为了找到变量,我还使用了solver 我怎样才能解决这个问题 import numpy as np import scipy.special as sc import math from sympy import Symbol from sympy.solvers i

我正在使用Python来解一个方程。我在scipy.special中添加了“贝塞尔函数”,它正在工作。现在我想用贝塞尔函数找到一个变量。例如,我在Python中添加了order1和value0.44005058574,但它不起作用。为了找到变量,我还使用了solver

我怎样才能解决这个问题

import numpy as np
import scipy.special as sc
import math
from sympy import Symbol
from sympy.solvers import solve

x=Symbol('x')
y=sc.jn(1,x)-0.44005058574
print(solve(x))

由于输出提示,函数scipy.special.jn不知道如何从simpy处理对象x。相反,您应该使用数值方法

>>> from scipy import optimize
>>> f = lambda x: sc.jn(1, x) - 0.44005058574
>>> root = optimize.newton(f, 1.0)
>>> print(root)
0.9999999999848267

你写的这个文件不起作用吗?怎么了?