Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Нахождение скорости математического маятника.

Medved Pro Ученик (104), открыт 3 недели назад
Для симуляции движения математического маятника нужно найти модули вектора v1 и v2 от времени. Нам известен начальный угол и длинна маятника. Заранее спасибо!
4 ответа
Hs Osnova Ученик (107) 3 недели назад
Формула Томсона
Medved ProУченик (104) 3 недели назад
Нужно немного подробнее и желательно сразу с общем формулой
Игорь Семененко Мудрец (12977) 3 недели назад
Только перепроверьте расчет, потому как быстро делал, мог v1 и v2 перепутать.Это формула только для малых колебаний (приближенная), для точной модели решение только в численном виде можно получитью
Medved ProУченик (104) 3 недели назад
Вроде правильно, спасибо!
Amaxar 777 Высший разум (133443) 3 недели назад
Игорь Семененко написал все верно. Но раз речь о симуляции, то будет, как я понимаю, применяться компьютер. Раз так, то вы можете в принципе учесть и нелинейность задачи. Для этого можно разбить время "наблюдения" на равные промежутки величиной dt каждый. Задать начальный угол отклонения маятника и начальную угловую скорость:
ф[0], w[0],
Затем, если вы знаете угол и скорость на некотором шаге, то вы можете посчитать их значения для следующего шага (простейший численный метод):
ф[j+1] = ф[j] + dt (w[j] - 0.5 q^2 sin(ф[j])),
w[j+1] = w[j] - 0.5 dt q^2 (sin(ф[j]) + sin(ф[j] + w[j] dt));
где q - циклическая частота. Т. е. у вас не будет формулки, задающей угол и угловую скорость как функции времени. Компьютер будет просто пересчитывать их значения каждый раз при переходе на следующий шаг по времени. И на каждом шаге, зная угол и угловую скорость, вы можете получить значения и обычных декартовых скоростей:
Vx[j] = L cos(ф[j]) w[j],
Vy[j] = L sin(ф[j]) w[j],
и координат (в данном случае я их отсчитываю от точки подвеса):
X[j] = L sin(ф[j]),
Y[j] = - L cos(ф[j]),
где L - длина маятника. Все это дело будет неплохо работать, если шаг по времени будет достаточно мал (по сравнению с минимальным периодном колебаний). То есть нужно, чтобы:
q dt << 1.
Можете взять, например:
dt = 0.01 / max(q),
где max(q) - максимальная величина циклической частоты, которую вы собираетесь рассматривать. Тогда шаги по времени будут одинаковыми и фиксированными, и при этом все будет работать даже в наихудшем случае (при максимальной частоте).
Похожие вопросы