Как использовать scipysolve_ivp для уравнения второго порядка с начальными условиями в два разных момента времени вместо ⇐ Python
Как использовать scipysolve_ivp для уравнения второго порядка с начальными условиями в два разных момента времени вместо
Предположим, мы хотим решить дифференциальное уравнение второго порядка, например x''(t)=-x(t). Поскольку scipy.solve_ivp решает уравнения первого порядка, мы можем превратить это в систему уравнений, чтобы она решала x'(t)=y(t) и y' (т)=-х(т). Если начальные условия — x(0)=0 и y(0)=1, пример выглядит следующим образом
импортировать numpy как np из scipy.integrate importsolve_ivp защита ода(t,z): х=z[0] у=z[1] вернуть y, -x т = np.linspace(0, 1, 200) sol =solve_ivp(ode, [0, 1], [0,1], t_eval=t) Но что, если я хочу установить два начальных условия для x(t), например x(0)=0 и x(1)= 1?
Я видел, что для solve_ivp есть аргумент event, но неясно, можно ли его использовать для решения уравнения второго порядка.
Предположим, мы хотим решить дифференциальное уравнение второго порядка, например x''(t)=-x(t). Поскольку scipy.solve_ivp решает уравнения первого порядка, мы можем превратить это в систему уравнений, чтобы она решала x'(t)=y(t) и y' (т)=-х(т). Если начальные условия — x(0)=0 и y(0)=1, пример выглядит следующим образом
импортировать numpy как np из scipy.integrate importsolve_ivp защита ода(t,z): х=z[0] у=z[1] вернуть y, -x т = np.linspace(0, 1, 200) sol =solve_ivp(ode, [0, 1], [0,1], t_eval=t) Но что, если я хочу установить два начальных условия для x(t), например x(0)=0 и x(1)= 1?
Я видел, что для solve_ivp есть аргумент event, но неясно, можно ли его использовать для решения уравнения второго порядка.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение