Могу ли я найти переменную в функции бессела в Python? - PullRequest
0 голосов
/ 07 января 2019

Я использую Python для решения уравнения. Я добавил «функцию Бесселя» в scipy.special, он работал. Теперь я хочу найти переменную, используя функцию Бесселя. Например, я добавил order(1) и value(0.44005058574) в Python, но он не работает. (чтобы найти переменную, я также использовал 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 голосов
/ 07 января 2019

Поскольку вывод намекает, функция 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...