Audiophile's Blog

Иосиф Бродский, стрелки часов и немного математики

Дата обновления: 04 Июля 2013
2013-07-04T11:41
Audiophile's Software

На днях я решил ознакомиться с поэзией Иосифа Бродского, и в сборнике его стихов мне попалось вот такое замечательное стихотворение:


Прачечный мост
F. W.

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

Река его то молодит, то старит.
То проступают юные черты,
то набегают на чело морщины.
Он занял наше место. Что ж, он прав!
С недавних пор все то, что одиноко,
символизирует другое время;
а это - ордер на пространство.
Пусть
он смотрится спокойно в наши воды
и даже узнает себя. Ему
река теперь принадлежит по праву,
как дом, в который зеркало внесли,
но жить не стали.


Стихотворение само по себе превосходное, но особое внимание я обратил на строки:

«...уподоблялись стрелкам циферблата,
обнявшимся в двенадцать перед тем,
как не на сутки, а навек расстаться...»

Сравнение действительно очень красивое и поэтичное, вот только через некоторое время мне пришло в голову, что стрелки-то часов встречаются не раз в сутки, и даже не два... А сколько? Ну, наверное, 24... А может меньше? Что ж, давайте вычислим.

Для начала запишем выражения, определяющие зависимость угла отклонения часовой (h) и минутной (m) стрелки от времени суток (заданного в секундах). Положение часовой стрелки определяется дробной частью отношения текущего времени в секундах к двенадцати часам (выраженным в секундах — 43200 с). Дробная часть вычисляется путем вычитания из числа его целой части (функция floor выделяет целую часть). Аналогично, положение минутной стрелки определяется отношением текущего времени в секундах к одному часу (3600 с). Естественно, соотношения умножаются на 360 градусов и результат будет у нас в градусах.

Время у нас варьируется от 0 до 86400 секунд, в Mathcad установлен шаг в одну секунду. Таким образом, в час ночи (3600 секунд) часовая стрелка будет отклонена от положения «12 часов» (принятого за 0 градусов) на 30 градусов, а минутная стрелка будет установлена на 0 градусов (на 12 часов):

А в 3:30 (12600 с) и 15:30 (55800 с) положение будет следующим:

А теперь взглянем на график функций h(t) и m(t):

Итак, мы видим, что пересечение часовой и минутной стрелки за сутки происходит 22 раза — так как 0 и 24 часа — это одна и та же точка, а точки, соответствующие нулевому положению минутной стрелки являются точками разрыва (неустранимый разрыв 1-го рода), и потому фактически пересечения графиков в области этих точек не происходит.

Но как же точно определить моменты времени (значения аргумента t), в которые графики пересекаются (h(t)=m(t))? Давайте для начала построим график разности двух функций:

Опять же, моменты «сброса» угла в ноль (вертикальные участки графика) не учитываются и являются точками разрыва. В таком случае мы опять же получаем 22 точки пересечения (где функция равна нулю).

Для того чтобы определить все 22 момента времени, нам надо найти корни уравнения:

Для этого воспользуемся разностной функцией и оператором root, который позволяет определять точки, в которых функция обращается в ноль. За начальные точки (t1) возьмем начало каждого из 24 часов — от 0 до 23 (0 с, 3600 с, 7200 с ... 84200 с). К сожалению, функция root не позволяет использовать в качестве аргумента (начального значения) вектор, потому каждое значение t1 придется прописывать вручную.

Для наглядности будем вычислять время в формате hh:mm:ss по формулам:

Итак, первое значение:

Конечно же получилось время 00:00:00. После часу ночи следующая точка:

После двух:

И так далее, увеличивая начальные условия на 3600 (1 час), с точностью до одной секунды мы получаем следующие значения времени:

Начальная точка, ссhh:mm:ss
0000:00:00
3600392701:05:27
7200785502:10:54
108001178203:16:21
144001570904:21:49
180001963605:27:16
216002356406:32:43
252002749107:38:10
288003141808:43:38
324003534509:49:05
360003927310:54:32
396004320012:00:00
432004320012:00:00
468004680013:05:27
504005105514:10:54
540005498215:16:21
576005890916:21:49
612006283617:27:16
648006676418:32:43
684007069119:38:10
720007461820:43:38
756007854521:49:05
792008247322:54:32
828008640000:00:00

В таблице 24 строки, но, как мы видим, есть две пары одинаковых значений. Первая и последняя точка — как я уже говорил, по суди одна и та же точка. А вот значения при начальных условиях 11 часов и 12 часов совпадают, т. к. после 11 часов ближайшее пересечение — в 12, а при поиске с 12-ти часов начальная точка включается в поиск.

Таким образом, за сутки часовая и минутная стрелки часов пересекаются 22 раза в моменты времени, которые указаны в полученной таблице.

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


Информация от спонсора

mp3-YOU: музыкальный портал, бесплатная музыка в формате MP3. Вот тут Вы можете найти и скачать все музыкальные новинки.

 
   
Добавил: Audiophile | Просмотров: 2767 | Рейтинг: 5.0/5, голосов: 1
Комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]