Реферат: Исследование периода колебаний математического маятника

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Указание. Попробуйте убрать этот аргумент, пытаясь тем самым получить аналитическое решение.

В последней строке нашей программы стоит оператор odeplot, для построения графика решения рассматриваемого нами ОДУ. В круглых скобках после имени этого оператора указаны 4 аргумента. Первый из них (Resh) определяет процедуру решения нашей задачи Коши. Второй аргумент ([t,phi (t)]) представляет собой список из двух элементов, который указывает, что ось абсцисс соответствует переменной t, а ось ординат - функции phi (t). Третий аргумент ([0.5]) определяет интервал изменения независимой переменной t. Четвёртый аргумент обязательным не является - он просто заказывает печать меток около осей координат: символа t около оси абсцисс и символа phi около оси ординат.

В результате выполнения Программы 1 на экране компьютера высвечивается график функции , который соответствует периодическим колебаниям маятника.

Для определения периода колебаний , очевидно, необходимо найти расстояние от начала координат до первого нуля функции  и умножить его на 4. Приближённое положение на временной оси этого нуля можно получить, если подвести к нему стрелку курсора и щёлкнуть левой клавишей мышки. В результате Maple высвечивает в небольшом окошке над графиком координаты острия курсора на плоскости (t, ). В результате проделанной операции мы получим приближённое значение четверти периода колебаний маятника  при фиксированном в третьей строке программы значении начального угла отклонения  (угловой амплитуды маятника).

Для того, чтобы найти приближённое значение  для другого значения начального отклонения маятника от положения равновесия, необходимо изменить указанное в третьей строке значение  и снова выполнить Программу 1.

Проводя вышеуказанный вычислительный эксперимент для значений  на интервале [0, ] с фиксированным шагом h (например, h=0.2) мы получим в табличной форме зависимость периода колебаний Т () от амплитуды .

Проведённый численный эксперимент полностью аналогичен физическому эксперименту: вручную задаётся начальное отклонение  и с помощью соответствующего щелчка мыши (то есть также вручную) определяется соответствующее ему значение Т ().

Совершенно ясно, что наш компьютерный эксперимент можно достаточно легко автоматизировать. Для этого необходимо написать фрагмент программы, который определяет ближайший к началу координат нуль функции  в автоматическом режиме при любом начальном значении . Далее необходимо написанный фрагмент программы зациклить, поручив компьютеру самому изменять угол начального отклонения маятника  на интервале [0, ].

При таком подходе трудность представляет лишь написание процедуры нахождения нуля функции . Заметим, что эту часть программы лучше всего оформить именно процедурой. Действительно, для нахождения нулей функции можно использовать разные алгоритмы и оформление каждого из них в виде соответствующей процедуры позволяет, в случае необходимости, легко сделать замену одного алгоритма на другой без каких-либо других изменений в полной программе.

Рассмотрим несколько таких алгоритмов применительно к решению нашей задачи о нахождении периода математического маятника.

А. Наиболее простым в идейном смысле (но отнюдь не самым быстрым) является алгоритм половинного деления (дихотомии). Суть его заключается в следующем. Начиная с некоторого значения (например, с t=0), мы идём вдоль временной оси с некоторым фиксированным шагом h до тех пор, пока на двух последовательных шагах функция  не будет иметь разные знаки, то есть до тех пор, пока не будет выполнено условие

 (12)

(непрерывная функция слева и справа от своего нулевого значения должна иметь разные знаки).

Выполнение условия (12) означает, что, как говорят артиллеристы старой закалки, "цель захвачена в вилку".  После этого начинается процедура "половинения" этой вилки. Для этого переходим к середине интервала  - точке  (она является полусуммой концов выделенного интервала ("вилки")):

.

Далее находим знак функции  при , то есть знак . Если этот знак совпадает со знаком , то ясно, что искомый нуль функции  находится на подинтервале , а в противном случае (то есть когда знак  совпадает со знаком ) - на подинтервале . И в первом и во втором случаях вилка, то есть интервал, на котором локализован искомый нуль функции , сужается в два раза.

Вышеописанная процедура половинения вилки продолжается до тех пор, пока её размер не окажется меньше заданной степени точности решения. Последнее определяется из физических соображений (например, мы хотим определить период колебаний нашего маятника с точностью до четвёртого знака после запятой).

Достоинством вышеуказанного метода является не только простота, но и тот факт, что на любом шаге его применения мы имеем верхнюю и нижнюю границы искомой величины - положение нуля функции .

В. Более быстрым, но на практике "более капризным", является метод касательных Ньютона. Это итерационный метод для решения уравнений вида f (t) =0, где f (t) - некоторая непрерывная и дифференцируемая функция, суть которого заключается в следующем.  Исходя из некоторого начального приближения () к корню решаемого уравнения строится касательная к графику функции f (t). Пересечение этой касательной с осью абсцисс даёт следующее приближение () к искомому корню. Таким образом, метод Ньютона основан на многократном применении формулы

, (13)

которую легко получить из элементарных геометрических соображений. Здесь  - предыдущее, а  - последующее приближение к корню уравнения f (t) =0. В формулу (13) входит не только значение правой части уравнения для предыдущего приближения , но и значение производной функции f (t) в этой точке, т.е. .

В зависимости от выбора начального приближения, метод Ньютона может не только сходиться, но и расходиться (о критериях выбора начального приближения см., например [8, 9]), что означает не последовательное приближение к корню, а удаление от него.

Задание. Напишите на языке Maple процедуру нахождения периода колебаний математического маятника с использованием метода Ньютона.

Указание. В качестве начального приближения можно взять точку t=0, а значение производной , которая входит в формулу (13) не нужно вычислять отдельно - поскольку в процессе решения дифференциального уравнения второго порядка Maple выдаёт на каждом шаге не только значение функции f (t), но и значение её производной .

С. Для решения рассматриваемой нами задачи можно воспользоваться и стандартным оператором решения уравнений solve для нахождения ближайшего к началу координат нуля функции , и чтобы применить этот оператор необходимо с помощью Maple определить функцию. Для этого можно использовать в операторе dsolve ещё одну полезную спецификацию, которая задаётся в виде равенства output=listprocedure. В результате применения этой спецификации Maple формирует для решаемого ОДУ n-ой степени список процедур (p), в который входит t, phi (t) и все производные последней функции вплоть до n-1 первого порядка включительно.

Для формирования функции, корень которой мы будем искать, можно использовать конструкцию типа f: = (t) - >subs (p,phi (t)), которая выделяет из списка p переменную phi (t) и превращает её в функции f (t) (см. [8] стр.26, 106).

Далее для решения уравнения f (t) =0 можно использовать оператор fsolve ({f (t) =0}, {t}).

Пример написанной студентами программы для нахождения периода колебаний математического маятника приведён в Приложении 1. Напомним, что любую программу можно написать многими разными способами. На первых этапах освоения программирования крайне не рекомендуется писать "хитрые" (изощрённые) программы, которые зачастую через несколько месяцев и сам автор понять не может.

Задание. Написать свой вариант программы нахождения периода колебаний математического маятника и построить с её помощью таблицу, в первом столбце которой заданы значения угловой амплитуды колебаний  на интервале [0, ], во второй - значения соответствующих периодов Т (), а в третьей - значения частот колебаний .

Задание. Построить графики функции  для начальных углов отклонения , близких к точке верхнего положения равновесия, например, для =3.0, 3.14, 3.1415… Убедиться в том, что колебания маятника при больших амплитудах  очень сильно отличаются от гармонических. Пронаблюдать переход от колебательного к вращательному движению маятника при  за счёт накопления вычислительных ошибок применяемого численного метода.

При вращательном движении  возрастает по модулю, изменяясь в положительном или отрицательном направлениях с характерными "ступеньками".

Эти ступеньки соответствуют нахождению маятника вблизи верхнего положения равновесия, когда скорость его движения является достаточно малой величиной (ступеньки почти параллельны временной оси).

4. Нахождение аналитической зависимости

В результате выполнения предыдущего задания мы получили табличное представление функций и . При малых амплитудах период колебаний стремится к величине =6.2831…, а при  он стремится к бесконечности. В силу последнего обстоятельства более удобным для дальнейшего анализа является не функция , а функция , которая в двух вышеуказанных предельных случаях стремится к единице и нулю, соответственно. Её график приближённо имеет вид, изображённый ниже не рисунке.

Представляет интерес попытка нахождения какого-либо аналитического выражения для этой функции (и, тем самым, для периода колебаний маятника). Рассмотрим несколько вариантов нахождения приближённого аналитического вида функции .

А. Применение теории размерностей.

Как известно, определённую информацию об аналитической зависимости между величинами, описывающими рассматриваемое аналитическое явление, можно получить с помощью теории размерностей. Рассмотрим этот вопрос на примере задачи о периоде колебаний Т математического маятника. Будем искать формулу для Т в виде монома от тех физических переменных, которые могли бы, в принципе, в неё входить:

 (14)

Здесь  - произвольный безразмерный множитель, m - масса маятника, l - его длина, g - ускорение свободного падения, а х, у и z - некоторые неизвестные показатели соответствующих степеней.

Очевидно, что размерности левой и правой частей формулы (14) должны быть одинаковыми. Будем обозначать размерность физических велиxин, как это принято, квадратными скобками. Тогда, из формулы (14) имеем

 (15)

Основными единицами измерений в механике являются килограмм (кг), метр (м) и секунда (с). Размерности всех других физических величин могут быть выражены через них. В частности, [g] =мс-2. Поскольку, [T] =c, [m] =кг, [l] =м, из формулы (15) имеем:

 (16)

или

. (17)

Приравнивая показатели при независимых единицах измерений в левой и правой частях уравнения (17), получим: x=0, y+z=0, - 2z=1. Отсюда находим: x=0, y=1/2, z=-1/2.

Таким образом, все показатели в формуле (14) определяются единственным образом (что, впрочем, бывает весьма редко!) и, следовательно

. (18)

Для случая малых колебаний неизвестную нам пока безразмерную величину гамма, можно найти в результате проведения единственного вычислительного эксперимента. Например, задавая , из решения исследуемой задачи Коши (34), мы получим . Разумеется, эта величина есть ни что иное, как приближённое значение числа . В результате (по крайней мере, с точностью до некоторой вычислительной ошибки в определении константы ) мы имеем

. (19)

Источник: https://www.bibliofond.ru/detail.aspx?id=866759