P.S.: Для решения этой задачи не обязательно решать задачу “Брошенное тело


Пусть есть траектория полёта материальной точки в плоскости где ось направлена вертикально вверх. Такая траектория запечатлена на “измерительные приборы”, и у нас есть зашумлённые массивы и координат в разные моменты времени. В этой задаче траектории генерируются автоматически, хотя при настоящем эксперименте они бы загружались из файла.

import random
x = [0.05*i + random.uniform(-0.3,0.3) for i in range(200)]
y = [0.1*i-0.0005*(i)**2 + random.uniform(-0.3,0.3) for i in range(200)]

Известно, что моменты времени отличаются на постоянный шаг по времени сек. Значения в массивах приведены в метрах. Найдите приближённые значения начального вектора скорости.

Можно попробовать:

  1. Не обращать внимания на всю траекторию, и взять только начальную, среднюю и последнюю точки. Далее воспользоваться кинематикой, соображением симметрии и здравым смыслом.
  2. Перебрать через двойной цикл допустимые варианты начальных скоростей Тогда предположим, что точку бросили из начала координат: Для каждой пары из заданного диапазона найдите соответствующие массивы траектории и а затем сравните с изначальными “измеренными” массивами. Такую проверочную траекторию будем называть модельной. Сравнить можно с помощью средней квадратичной ошибки: где количество точек в траектории. Так, измеряется в метрах, то есть среднее отклонение точки “измеренной” траектории с точкой модельной траектории. Та пара скоростей для которой наименьшее, будет ответом на решение задачи.