Как избежать RuntimeWarning для моей серии Фурье - PullRequest
1 голос
/ 12 марта 2019

Для конкретного аналитического решения моего уравнения в частных производных оно может быть выражено в виде ряда Фурье, для которого я кодировал:

def wire_anal(x, y, L, N):
series = 0
for n in range(1, N):
    series += (4000/((2*n)-1))*np.sin(((2*n)-1)*np.pi*x/L)*((np.sinh(((2*n)-1)*np.pi*y/L))/(np.sinh(np.pi*((2*n)-1))))
return series

когда я запускаю его для определенного значения, я хочу сказать:

print(wire_anal(0.25, 0, 0.5, 150))

Я получаю ошибку

RuntimeWarning: overflow encountered in sinh

Для более высоких терминов сказать:

print(wire_anal(0.25, 0.5, 0.5, 1500))

Вместо этого я получаю NaN значение. Есть ли способ обойти эту проблему?

...