Несколько дней назад я играл с odeint и думал, что некоторые результаты были любопытны. Итак, я хотел запустить что-то действительно простое, чтобы протестировать мой код (показано ниже).
Если (dy / dt) = -x, его интеграция должна дать (-x ^ 2) / 2 + C. График, который я получил, определенно не показывает этого. Понятно, что я делаю что-то не так, но не могу понять, чего не хватает. Кто-нибудь может дать мне указатели?
Код следует -
import scipy.integrate as scint
import numpy as np
import matplotlib.pyplot as plt
def odefunc(y0, t):
x = y0
dxdt = -1*x
return dxdt
plt.close('all')
t = np.arange(0, 5, 0.02)
y0 = 1
soln = scint.odeint(odefunc, y0, t)
fig1 = plt.figure(1, figsize = (9, 6))
plt.grid(color = 'grey', linestyle = ':', linewidth = 1)
plt.plot(t, soln, marker = 'd', linestyle = 'none', color = 'black')
plt.xlabel('Time')
plt.ylabel('Event')
plt.tight_layout()
Вот сюжет -
Участок решения
Я довольно новичок в использовании python. Это не домашнее задание или что-то еще. Я изучаю Python для удовольствия больше всего на свете.