Вопрос просит нас решить этот интеграл в python, используя метод Rk4 ∫sinh(?)(?−5)??
от 0
до 5
. Каков наилучший способ сделать это, как бы вы изменили это на ODE?
def RK4(f, dx, x0, y0, imax):
output = np.empty((imax, 3))
i = 0
xi = x0
yi = y0
while(i < imax):
k1 = dx*f(xi,yi)
k2 = dx*f(xi + 0.5*dx, yi + 0.5*k1)
k3 = dx*f(xi + 0.5*dx, yi + 0.5*k2)
k4 = dx*f(xi + dx, yi + k3)
yi = yi + 1/6*(k1 + 2*k2 + 2*k3 + k4)
xi += dx
output[i, 0] = xi
output[i, 1] = yi[0]
output[i, 2] = yi[1]
i += 1
return output
RK4(0,0,5,100,10)
Я получаю ошибку, что для k1 ("int объект не вызывается") ?? Как я могу это исправить или, возможно, проблема в другом месте моего кода. Спасибо за любую помощь. Также в этом вопросе прямо предлагается решить интеграл, используя правило Симпсона и методы RK4