Общая цель состоит в том, чтобы написать программу Mathematica, которая будет вычислять угол запуска, который даст наибольшую дальность с использованием функции [RandomInt], но у меня были проблемы с физикой.
В 2D-траектории без трения наибольший диапазон достигается под углом. .
Но используя квадратичную модель трения,
где это плотность воздуха, - площадь поперечного сечения движущегося объекта (в данном случае круга), а это коэффициент лобового сопротивления.
На данный момент я не уверен, как настроить проблему, так как зависит от обоих и , и не могут быть смоделированы как линейно независимые друг от друга.
Некоторые заданные параметры сферического снаряда: (я предполагаю, что эти значения можно легко подставить в общее уравнение при написании программы)
Начальная скорость = между Масса = 0,145 Радиус = 0,0367 Плотность воздуха = Коэффициент лобового сопротивления = 0,46
Как бы я включил обе скорости в уравнение? Для простой кинематики это просто:
В двух измерениях второй закон Ньютона можно записать в векторной форме как
В частности, вы можете решить эти уравнения, задав начальное положение и начальная скорость где - начальный угол, под которым вылетает снаряд.
Вы знаете, что сопротивление воздуха в заданных контролируемых условиях одинаково во всех направлениях, поэтому вам нужно только вычислить составляющую скорости в направлении, которое перпендикулярно, а другое параллельно базовой оси, а затем вычислить скорость с обеих сторон, а затем вычислить радиус. Если это помогло вам, значит все в порядке, или если хотите, я решу это для вас.
Я предлагаю определить функцию это дает вам дальность полета снаряда для заданного угла. Вычислить численное решение ОДУ (вы можете использовать метод Рунге-Кутты для этой задачи http://en.wikipedia.org/wiki/Runge%E2%80%93Kutta_methods )
Qмеханик