В настоящее время я пытаюсь кодировать базовую c 2D-симуляцию полета самолета (вычисление ускорения, скорости и положения на каждом временном шаге).
Я наконец достиг удовлетворительного моделирования, но теперь я столкнулся с новой проблемой: через некоторое время мои вычисления начинают становиться нестабильными и быстро расходятся в бесконечность. Пример нестабильности .
Я провел несколько экспериментов, и кажется, что чем выше тета (угол между землей и осью плоскости), тем позднее наступает нестабильность (или нет) даже приезжай). Однако для получения c результатов мне нужно иметь возможность вычислять значения тета в диапазоне от -15 до +15 градусов.
Я думаю, что это может быть связано с приближениями Python относительно небольших значений , Я пытался использовать десятичные дроби, но проблема была та же.
Вот ссылка на код: https://github.com/YannBerthelot/PlaneModel/blob/master/Plane-Env/env/FlightModel_2.py
Кто-нибудь имеет представление о том, как я могу подавить или, по крайней мере, значительно уменьшить нестабильность (чтобы это произошло после намного большее количество шагов)? Проблема может возникнуть из-за неправильного определения динамики, если у вас есть идеи о том, как ее улучшить, пожалуйста, поделитесь :)
Спасибо