У меня следующая проблема: я хочу определить начальную скорость объекта, который, например, упал с движущегося самолета. Я знаю позицию, откуда упал объект, и я знаю, где объект приземлился. Допустим, начальное положение и . Объект падает на землю в и . Какова начальная скорость ?
Поскольку я должен учитывать сопротивление воздуха , я также знаю массу объекта: и он круглый, так что я могу использовать а диаметр моей сферы а температура воздуха везде 20°С, значит плотность воздуха: в результате чего
Я нахожу много решений, которые игнорируют сопротивление воздуха. Это несложно, но очень хотелось бы решить эту проблему с сопротивлением воздуха.
С помощью метода Эйлера я могу рассчитать, куда приземлится этот объект, когда я знаю начальную скорость, теперь я хочу решить это «назад». Как я могу сформулировать задачу математически, чтобы решить ее за ?
Я ценю любую помощь!
Изменить: по запросу моя программа, которая решает проблему для неизвестного удара, но с известной начальной скоростью и начальным положением:
маленький размер шага
while(y > 0) {
}
У вас есть «прямая» функция x=f(v), и вы хотите знать, для какого значения v вы получите желаемое значение x, которое я буду называть (цель).
Вы можете использовать простое последовательное приближение Ньютона-Рафсона. Начните со скорости вы рассчитываете для случая отсутствия трения и получаете значение для (это будет слишком мало). Затем удвоить скорость до , и вычислить . Затем вы можете вычислить следующую оценку скорости,
Теперь оцените , выберите два ближайших значения и повторите. Для функции с хорошим поведением этот подход быстро сойдется - и, во всяком случае, у вас всегда будут границы (верхние/нижние) вашего ответа, как только результат ( ) меняет знак между двумя ближайшими оценками. Продолжайте, пока они не окажутся «настолько близко, насколько вам нужно».
дотанкоэн
al3xst