Решение системы дифференциальных уравнений первого порядка и дифференциальных уравнений второго порядка (нелинейное)

Проблема

Сейчас у меня есть система из четырех уравнений. Два являются дифференциальными уравнениями второго порядка, а два - дифференциальными уравнениями первого порядка:

Четыре уравнения

Начальные условия:

x = 0 |
y = 0.3 | 
f(x) = 2.05 |
f(y) = 0.55 |

Все углы указаны в градусах.

Что я пробовал

Я пробовал использовать Google Colabs и работал с SciPy и NumPy. К сожалению, я не могу понять, как его запрограммировать, поскольку эти уравнения нелинейны. Может ли кто-нибудь дать мне несколько советов по использованию других модулей?


person Shreyas fc    schedule 15.10.2020    source источник
comment
Это просто невозможно. Когда вам дана первая производная, вторая следует автоматически и не является общедоступной. Поскольку ваша система сильно структурирована, было бы хорошо, если бы вы могли вернуться к генезису этих уравнений. Первые два - это общие уравнения баллистических снарядов v'=g-c*v*|v|, где затем x'=v для интегрирования положения (x,v,g - векторы). Откуда берется рецепт формы раствора для v?   -  person Lutz Lehmann    schedule 15.10.2020


Ответы (1)


Scipy имеет решатель Рунге Кутты. Во-первых, вам нужно преобразовать ваши ODE в систему первого порядка (вы всегда можете сделать это, установив z = y '), а затем попробовать решатель RK.

person Botond    schedule 15.10.2020