Решение проблем и построение графика решения простого дифференциального уравненияPython

Программы на Python
Anonymous
Решение проблем и построение графика решения простого дифференциального уравнения

Сообщение Anonymous »

Я пытаюсь решить дифференциальное уравнение R'(t)^{2} = 1/R с начальным условием, что R(0) = 0 в Python. Я должен получить решение R(t) = (3/2 * t)^(2/3), как я получил из математики. График решения задачи R'[t]^2 = 1/R с начальным условием R(0) = 0
Я использовал следующий код на Python:

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

import numpy as np
from scipy.integrate import odeint
import matplotlib.pyplot as plt

sqrt = np.sqrt

# function that returns dy/dt
def model(y,t):
#k = 1
dydt = sqrt(1/y)
return dydt

# initial condition
y0 = [0.0]

# time points
t = np.linspace(0,5)

# solve ODE
y = odeint(model,y0,t)

# plot results
plt.plot(t,y)
plt.ylabel('$R/R_0$')
plt.xticks([])
plt.yticks([])
plt.show()
Однако я получаю только 0, поскольку в какой-то момент я, очевидно, делю на ноль график дифференциального уравнения Python R'[t]^2 = 1/R, что неверно. Может ли кто-нибудь указать, что я могу сделать, чтобы получить ожидаемое решение и сюжет.
Спасибо

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