Рассказы о математике с примерами на языках Python и C | страница 20




Числа Фибоначчи несложно вывести в программе на языке Python:

from decimal import *


def printNumbers(n):

i1 = Decimal(0)

i2 = Decimal(1)

for p in range(1, n+1):

print("F({}) = {}".format(p, i2))

fib = i1 + i2

i1 = i2

i2 = fib


getcontext().prec = 100


N = 100

printNumbers(N)


Интересно заметить, что растет последовательность Фибоначчи весьма быстро, уже F(300) = 222232244629420445529739893461909967206666939096499764990979600.

10. Высота звуков нот

Еще в древности человек заметил, что натянутая струна порождает колебания звука. Во времена Пифагора было замечено, что струны издают мелодичный звук, если их длина соотносится как небольшие целые числа (1:2, 2:3, 3:4 и т. д.). Звук от струны длиной 2/3 дает чистую квинту, 3/4 струны дает кварту а половина струны - октаву.


Рассмотрим струну с условной длиной = 1. Будем умножать длину струны на 3/2, если полученное число больше 2, разделим еще на 2.

1

3/2 = 1,5

1.5 * 3/2 = 2.25, 2.25/2 = 1,125 = 9/8

9/8 * 3/2 = 1,6875 =       27/16


Похожий ряд, если его упорядочить по возрастанию, называется пифагоровым строем:

“до” - 1

“ре” - 9/8

“ми” - 81/64

“фа” - 4/3

“соль” - 3/2

“ля” - 27/16

“си” - 243/128

“до” - 2

Он также называется квинтовым, т.к. ноты получались увеличением на квинту, т.е. на 3/2. Считается, что этот строй использовался еще при настройке лир в древней Греции, и сохранился вплоть до средних веков. Названия нот разумеется, были другие - современные названия придумал только через 1000 лет итальянский теоретик музыки Гвидо д’Ареццо в 1025 г..


Разумеется, в древней Греции никто не знал про частоту колебаний звука, зато древние греки были хорошими геометрами, и проблем с умножением и делением у них не было. Современная теория колебаний струны появилась гораздо позже, работы Эйлера и Д’Аламбера были написаны в 1750х годах.


Как математически определяются частоты звуков нот? Сейчас мы знаем, что октава (от “до” до “до” следующей октавы) - это умножение частоты на 2 (или укорочение струны в 2 раза). Для остальных нот с 18 века используется так называемый “хорошо темперированный строй”: октава делится на 12 равных промежутков, а последовательность частот образует геометрическую прогрессию.

Для одной октавы получаются следующие коэффициенты: 1,0594, 1,1224, 1,1892, …, 2. На клавиатуре они отображаются всем известным образом, образуя 12 полутонов:

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