Иллюстрированный самоучитель по Maple 9

Вычисление времени сжатия пружины под воздействием упавшего груза

Принципиально процедура L(), позволяющая вычислить длину пружины, от описанной только что процедуры h() отличается мало. Локальные переменные и их значения абсолютно такие же, как и в предыдущем случае. Отличие только в последнем условном операторе.

Иллюстрированный самоучитель по Maple 9 › Задачи физики › Вычисление времени сжатия пружины под воздействием упавшего груза

Если шарик еще не долетел до пружины, последняя находится в недеформированном состоянии и ее длина равна 1. После того как шарик столкнулся пружиной, она начинает сжиматься. Высота шарика определяется зависимостью Y(TT-t0), и эта высота меньше нуля (поскольку шарик находится ниже уровня верхнего конца недеформированной пружины). Поэтому длина Пружины изменяется на такую же величину и равна l+Y(TT,-t0). Осталось задать зависимость скорости шарика от времени. Эта зависимость определяется процедурой VI ().

Иллюстрированный самоучитель по Maple 9 › Задачи физики › Вычисление времени сжатия пружины под воздействием упавшего груза

Локальные переменные ТТ и j определяются так же, как и в предыдущих случаях. Если шарик находится "в свободном полете" (TT<t0), модуль скорости шарика равен g*ТТ, а знак определяется так: если в интервале t вмещается четное число периодов (j=0), вектор скорости направлен вниз и скорость отрицательна; в противном случае (j=l) она положительна, т.е. шарик движется вверх. Отсюда появляется множитель (-1)*(j+1): он равен 1 при j=1 и -1 при j>0. В противном случае скорость вычисляется как производная (в виде оператора D(Y) ()) от функции У() в момент времени (TT-t0). Наличие множителя j обусловлено теми же причинами, что и в предыдущем случае.

На заметку
В описанных выше процедурах при сравнении параметра ТТ с t0 использована команда evalf (). Сделано это "на всякий случай" – разница (TT-t0) преобразуется в формат числа с плавающей точкой, поскольку это упрощает процедуру сравнения данного выражения с нулем
.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.