Используйте модули, чтобы выполнить вычисления физики и в SI и в имперских модулях. Вычислите с модулями терминальную скорость падающего парашютиста-десантника путем моделирования замедления скорости, должной перетащить.
Предположите, что парашютист-десантник исключен из самолета. Примите, что существует только две силы, действующие на парашютиста-десантника, гравитационную силу и противостоящую силу сопротивления от парашюта.
Сетевая сила, действующая на парашютиста-десантника, может быть выражена как:
,
,
где
масса парашютиста-десантника
g является ускорением из-за силы тяжести
скорость парашютиста-десантника
постоянное перетаскивание
Задайте и решите дифференциальное уравнение
Определите дифференциальное уравнение, описывающее равновесие сил.
syms g m c_d syms v(t) eq = m*diff(v(t),t) + m*g == c_d*v(t)^2
eq =
Примите, что парашют сразу открывается в так, чтобы уравнение eq
было допустимо для всех значений . Решите дифференциальное уравнение аналитически с помощью dsolve
с начальным условием .
velocity = simplify(dsolve(eq, v(0) == 0))
velocity =
Найдите модули перетаскивания постоянными в единицах СИ. Модулями Силы является Ньютон или выразил в основных единицах СИ, . Поскольку они эквивалентны, у них есть модульный коэффициент преобразования 1.
u = symunit; unitConversionFactor(u.N, u.kg*u.m/u.s^2)
ans =
Начиная с силы сопротивления должен иметь ту же физическую размерность в Ньютоне как гравитационная сила , физическая размерность может быть решен для.
syms drag_units_SI
drag_units_SI = simplify(solve(drag_units_SI * (u.m / u.s)^2 == u.N))
drag_units_SI =
Примите:
Масса парашютиста-десантника
Ускорение из-за силы тяжести
Коэффициент сопротивления
Замените этими значениями в скоростное уравнение и упростите результат.
vel_SI = subs(velocity,[g,m,c_d],[9.81*u.m/u.s^2, 70*u.kg, 40*drag_units_SI])
vel_SI =
vel_SI = simplify(vel_SI)
vel_SI =
Вычислите числовое приближение к 3 значительным цифрам.
digits(3) vel_SI = vpa(vel_SI)
vel_SI =
Парашютист-десантник скоро приближается к постоянной скорости, когда гравитационная сила сбалансирована силой сопротивления. Это называется терминальной скоростью и происходит, когда сила сопротивления от парашюта примерно эквивалентна гравитационной силе, и нет никакого дальнейшего ускорения. Найдите терминальную скорость при помощи limit
как .
vel_term_SI = limit(vel_SI, t, Inf)
vel_term_SI =
Перепишите Скорость Используя имперские модули
Наконец, мы переписываем функцию скорости от единиц СИ до имперских модулей.
vel_Imperial = rewrite(vel_SI,u.ft)
vel_Imperial =
Перепишите терминальную скорость.
vel_term_Imperial = rewrite(vel_term_SI,u.ft)
vel_term_Imperial =
Чтобы построить замедление, мы измеряем время t в секундах и заменяем t t = T s, где T является безразмерной символьной переменной.
syms T
vel_SI = subs(vel_SI, t, T*u.s)
vel_SI =
vel_Imperial = rewrite(vel_SI, u.ft)
vel_Imperial =
Разделите выражение от модулей при помощи separateUnits
. Постройте выражение с помощью fplot
. Преобразуйте единицы к строкам для использования в качестве меток графика с помощью symunit2str
.
[data_SI, units_SI] = separateUnits(vel_SI); [data_Imperial, units_Imperial] = separateUnits(vel_Imperial);
Мы видим, что скорость парашютиста-десантника приближается к своему устойчивому состоянию когда . Покажите, как скорость приближается к терминальной скорости путем графического вывода скорости в области значений .
subplot(1,2,1) fplot(data_SI,[0 2]) title('Deceleration in SI Units') xlabel('Time in s') ylabel(['Velocity in ' symunit2str(units_SI)]) subplot(1,2,2) fplot(data_Imperial,[0 2]) title('Deceleration in Imperial Units') xlabel('Time in s') ylabel(['Velocity in ' symunit2str(units_Imperial)])
© 2016 The MathWorks, Inc.