Mam problem z implementacją funkcji numerycznie. Cierpi na tym fakt, że przy dużych wartościach wejściowych wynik jest bardzo dużą liczbą razy bardzo małą liczbą. Nie jestem pewien, czy katastrofalne anulowanie jest właściwym terminem, więc proszę mnie poprawić, jeśli tak jest. Dowody na coś nie tak:
Jak mogę uniknąć oscylacji i przypisania wartości 0,0 dla większych danych wejściowych wynoszących 6?
Oto moja funkcja:
import numpy as np
def func(x):
t = np.exp(-np.pi*x)
return 1/t*(1-np.sqrt(1-t**2))