Математический анализ в Maple 9

замена на газ амортизаторов


Разложение функций в ряд Фурье

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

В приведенном ниже примере для разложения функций в ряд Фурье на интервале создается специальная процедура.

Задача 3.10

Разложить в ряд Фурье приведенные далее функции.

Определим процедуру с такими параметрами: раскладываемая в ряд функция (f), равенство, определяющее переменную и интервал разложения (VarAndRange), а также количество членов ряда (n).

В самом начале процедуры выполняется проверка второго параметра на предмет соответствия типов. Тип аргумента возвращается функцией whattype(), и если он не является равенством выводится сообщение Неверно введенный диапазон.

В противном случае локальной переменной s в качестве значения присваивается имя переменной, расположенной в левой части равенства VarAndRange. Переменной а присваивается начальная точка диапазона, на котором раскладывается в ряд функция, а переменной b — конечная точка этого диапазона.

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

Теперь воспользуемся описанной процедурой для разложения в ряд Фурье функций. В частности, определим следующую функцию.

Ряд Фурье для этой функции на интервале (пять первых слагаемых) имеет следующий вид.

Ниже можно сравнить графики самой функции и полученного для нее ряда Фурье.

Как и следовало ожидать, на интервале разложения ряд достаточно неплохо аппроксимирует функцию.

Рассмотрим теперь пример обработки исключительной ситуации (неверно указан второй параметр).

Часто возникает необходимость определять непосредственно коэффициенты косинус- и синус-разложений. В этой ситуации также можно воспользоваться некоторыми полезными процедурами. Начнем с вычисления коэффициентов косинус-разложения.

Принципиально эта процедура отличается от предыдущей тем, что второй параметр является диапазоном (не равенством, как в процедуре FurSer). Соответственно, проверка выполняется для этого типа (диапазон имеет тип '..'). Кроме того, здесь мы ограничиваемся вычислением коэффициента разложения.

Точно так же определяются коэффициенты и для синус-разложения.

Описанные выше процедуры могут использоваться для определения коэффициентов не только с численными индексами, но и с индексами, указанными в символьном виде (стоит обратить внимание, как указан первый аргумент процедуры).

Чтобы упростить полученное выражение, ядру Maple нужно сообщить, что m является целым числом. Для этого вводим следующую команду.

Для косинус-коэффициентов имеем, соответственно, такой результат.

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

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

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