Я хочу непрерывно решать дифференциальное уравнение, изменяя только начальные условия. Я много пробовал, но не нашел подходящего способа сделать это правильно. Может кто-нибудь, пожалуйста, поделитесь любой идеей об этом. Для вашего удобства я приведу ниже код, который может решить дифференциальное уравнение:
from scipy.integrate import odeint
import numpy as np
import matplotlib.pyplot as plt
c = 1.0 #value of constants
#define function
def exam(y, x):
theta, omega = y
dydx = [omega, - (2.0/x)*omega - theta**c]
return dydx
#initial conditions
y0 = [1.0, 0.0] ## theta, omega
x = np.linspace(0.1, 10, 100)
#call integrator
sol = odeint(exam, y0, x)
plt.plot(x, sol[:, 0], 'b')
plt.legend(loc='best')
plt.grid()
plt.show()
Итак, мой вопрос состоит в том, как я могу решить приведенное выше дифференциальное уравнение для разных начальных условий одновременно (предположим, для y = [1.0, 0.0]
; y = [1.2, 0.2]
; y = [1.3, 0.3]
) и построить их вместе.