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)]Известно, что моменты времени отличаются на постоянный шаг по времени сек. Значения в массивах приведены в метрах. Найдите приближённые значения начального вектора скорости.
Можно попробовать:
- Не обращать внимания на всю траекторию, и взять только начальную, среднюю и последнюю точки. Далее воспользоваться кинематикой, соображением симметрии и здравым смыслом.
- Перебрать через двойной цикл допустимые варианты начальных скоростей Тогда предположим, что точку бросили из начала координат: Для каждой пары из заданного диапазона найдите соответствующие массивы траектории и а затем сравните с изначальными “измеренными” массивами. Такую проверочную траекторию будем называть модельной. Сравнить можно с помощью средней квадратичной ошибки: где количество точек в траектории. Так, измеряется в метрах, то есть среднее отклонение точки “измеренной” траектории с точкой модельной траектории. Та пара скоростей для которой наименьшее, будет ответом на решение задачи.