我可以在python的bessel函数中找到一个变量吗?

时间:2019-01-06 22:21:26

标签: python python-3.x scipy

我正在使用Python求解方程式。我在scipy.special中添加了“贝塞尔函数”,它正在工作。现在,我想使用贝塞尔函数找到一个变量。例如,我在Python中添加了order(1)value(0.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))

1 个答案:

答案 0 :(得分:1)

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

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