muszę obliczyć całkę następującej funkcji w zakresach, które zaczyna się już od -150
:Oszukiwanie numpy/Python do reprezentującą bardzo dużych i bardzo małych ilościach
import numpy as np
from scipy.special import ndtr
def my_func(x):
return np.exp(x ** 2) * 2 * ndtr(x * np.sqrt(2))
Problemem jest to, że ta część funkcji
np.exp(x ** 2)
dąży do nieskończoności - mam inf
dla wartości x
mniej niż około -26
.
I ta część funkcji
2 * ndtr(x * np.sqrt(2))
co jest równoważne
from scipy.special import erf
1 + erf(x)
dąży do 0.
tak, to bardzo, bardzo dużych ilość razy bardzo, bardzo małe numer powinien podać mi odpowiednią liczbę - ale zamiast tego python
daje mi nan
.
Co mogę zrobić, aby obejść ten problem?
Czy na pewno nie ma rozwiązań analitycznych dla swojej integralnej części? –
@ReblochonMasque nie, nie jestem. czy wiesz, gdzie mogę znaleźć? na pewno nie mam kotów matematycznych, żeby to rozwiązać na własną rękę. – dbliss
mathstackexchange maybe - or wolframalpha - or sympy –