Уникальное решение ODEPython

Программы на Python
Anonymous
Уникальное решение ODE

Сообщение Anonymous »

Существует базовая ОДУ — дифференциальное уравнение.
y' = 2x, решение: f(x) = x²
Код:< /p>

Код: Выделить всё

  def deriv (y,x) :
return 2 * x

#  time points
x = np.linspace ( 0 , 10)

# initial condition
y0 = 1

# solve ODE
solution = odeint ( deriv , y0 , x )
y = solution [ : , 0 ]

# plot results
plt.plot ( x , y )
plt.title("Equa diff y' = 2x  " )
plt.ylabel("value")
plt.xlabel("time")
plt.show()

# Find exact value at time 10 :  It's not ok
print(" At time 10 , my value will be " ,np.interp(10, x, y))

# 101.000000001241
Результат:
Изображение

Мне нужно только числовое решение для x = 10, мое решение интерполяции неверно и должно быть 100, а не 101,00000001241.
Спасибо< /p>
Изменить: я пытался ограничить линейное пространство до (3,3) или (10,10), но безуспешно

Подробнее здесь: https://stackoverflow.com/questions/786 ... ion-to-ode

Вернуться в «Python»