Задачи высшей математики с Maxima
3.9.5 Ряд Фурье для функций с периодом 2l
Пусть — периодичная с периодом функция, которая на отрезке удовлетворяет условиям теоремы Дирихле. Разложим её на этом отрезке в ряд Фурье. Обозначим
( 3.3) |
Тогда
Функция — уже –периодическая функция, так как
Функцию разложим в ряд Фурье на отрезке
( 3.4) |
Коэффициенты этого ряда вычисляются по формулам:
( 3.5) |
( 3.6) |
Возвращаясь к прежней переменной , из равенства (3.3) имеем . Тогда ряд (3.4) можно представить в виде
( 3.7) |
В интегралах (3.5) и (3.6) произведём замену переменной:
Если — чётная на функция, то , а , ряд Фурье такой функции имеет вид:
Если — нечётная на функция, то ,
, ряд Фурье имеет вид:Пример: Разложить в ряд Фурье периодическую с периодом функцию , заданную формулой
Эта функция на отрезке [-1, 1] удовлетворяет условиям теоремы Дирихле. Ряд Фурье для данной функции:
Сумма этого ряда в точках равна .
Рассмотрим видоизменение функции Maxima, необходимой для вычисления коэффициентов ряда Фурье для функции с периодом . Рассмотрим текст функции :
fun12l(x,n,l,f1,f2):=(for k:0 thru n do a[k]:1/l*(integrate(f1*cos(%pi*k*x/l),x,-l,0) +integrate(f2*cos(%pi*k*x/l),x,0,l)), for k:1 thru n do b[k]:1/l*(integrate(f1*sin(%pi*k*x/l),x,-l,0)+ integrate(f2*sin(%pi*k*x/l),x,0,l)), a[0]/2+sum(a[k]*cos(%pi*k*x/l),k,1,n)+ sum(b[k]*sin(%pi*k*x/l),k,1,n))$
Основное изменение по сравнение с вариантами, приведёнными выше — использование тригонометрических функций и
Вывод Maxima для первых семи членов ряда Фурье:
(%i6) fun12l(x,7,1,0,x);
Для построения графика собственно анализируемой функции (её представляет кусочно-непрерывная функция ) и частичной суммы её ряда Фурье из результатов разложения формируем новую функцию , после чего стандартной командой строим график:
(%i7) g(x):="%$ (%i8) f(x):=(if x<0 then 0 else x)$ (%i9) wxplot2d([g(x),f(x)], [x,-2.2,1.6]);
Графическая иллюстрация, показывающая сопоставление рассматриваемой функции и ряда Фурье на заданном отрезке — на рис. 3.22.
3.9.6 Комплексная форма ряда Фурье
Пусть функция на разложена в ряд Фурье
( 3.8) |
Воспользуемся формулами Эйлера:
Подставим эти выражения в ряд (3.8), имеем:
Обозначим:
( 3.9) |
Тогда
Следовательно
( 3.10) |
Выражение (3.10) называется комплексной формой ряда Фурье функции с комплексными коэффициентами Фурье . Коэффициенты Фурье вычисляются по формулам :
Если — периодическая с периодом функция, то её комплексный ряд Фурье имеет вид:
а коэффициенты Фурье определяются по формулеПример: Разложить в ряд Фурье с комплексными коэффициентами периодическую с периодом функцию, заданную на отрезке [-1, 1] равенством .
(%i1) n:5$ f:x^2$ l:1$ c(k):= 1/2/l*integrate(f*exp(-%i*%pi*k*x/l),x,-l,l)$ z:makelist(k-6, k, 1, 2*n+1)$ cr:makelist(c(z[k]),k,1,2*n+1)$ fk:makelist(cr[k]*exp(%i*%pi*z[k]*x/l),k,1,2*n+1)$ g:sum(fk[k],k,1,2*n+1)$ gend:trigreduce(ratsimp(rectform(g)));
В данном примере члены частичной суммы ряда Фурье представляются списком. В представленном вычислении . Список содержит коэффициенты ряда в комплексной форме (при суммировании от до индекс элемента ряда содержится в ). Собственно члены ряда Фурье скомпонованы в список , после суммирования которого получаем сумму ряда (выражение ). Для построения графика необходимо упростить выражение (см. пример, результат упрощения — выражение ). Очевидно, что для просмотра промежуточных результатов (они довольно объёмные) терминальные символы $ можно заменить на ;.
3.9.7 Дополнительные возможности: пакет fourie
Пакет расширения fourie предназначен для расчёта коэффициентов тригонометрических рядов Фурье, а также интеграла Фурье. Функции, входящие в состав пакета, позволяют находить точное аналитическое выражение всех, а не первых нескольких коэффициентов ряда Фурье.
Функция позволяет вычислить коэффициенты ряда Фурье (синтаксис вызова: ), которая возвращает список коэффициентов Фурье , определённых на интервале . Собственно ряд Фурье позволяет построить функция (синтаксис вызова ), которая конструирует и возвращает ряд Фурье, используя список коэффициентов Фурье ( может быть и бесконечным, равным ).
Коэффициенты рядов Фурье по синусам и по косинусам вычисляются функциями (синтаксис и аналогичны функции ).
Вычисления и подстановка и осуществляется специальной функцией . Управление подстановкой осуществляется посредством флагов и (если они установлены в , вычисление и подстановка выполняются, это режим по умолчанию).
Для управления процессом разложения различных функций в ряд Фурье предусмотрены следующие функции:
- . Синтаксис вызова или . Данная функция позволяет заменить все вхождения функции в выражении на (в форме замена осуществляется, только если содержит );
- . Данная функция (синтаксис вызова или ) возвращает , если выражение содержит функцию или конкретно ;
- . Данная функция позволяет вычислить неопределённый или определённый интеграл абсолютных значений функции (её определение может включать выражения ). Синтаксис вызова — часть числовой оси), (неопределённый интеграл по положительной полуоси), (определённый интеграл).
Общую форму ряда Фурье (после подстановки и упрощения) позволяет построить функция .
Коэффициенты интеграла Фурье на интервале (- inf, inf) позволяет вычислить функция , интеграла по косинусам или синусам на интервале (0, inf) — функции и соответственно.
Для использования пакета fourie его необходимо предварительно загрузить командой load("fourie").
увеличить изображение
Рис. 3.23. График частичной суммы ряда Фурье для функции f(x) = x, построенной при помощи пакета fourie
Примеры использования пакета fourie (график полученной функции приведён на рис. 3.23):
(%i1) load("fourie")$ fourier(x,x,%pi);
(%i5) foursimp(%);
(%i8) fourexpand(%,x,%pi,10);
3.9.8 Дополнительные возможности: обобщённые ряды Фурье
Как указывалось выше, наряду с тригонометрической ортонормированной системой функций достаточно широко используются и другие (в частности, полиномы Лежандра, Чебышёва, Эрмита и др.). Рассмотрим представление функции обобщённым рядом Фурье по полиномам Лежандра.
Вычисление значений ортогональных полиномов в Maxima осуществляется при помощи пакета orthopoly, который позволяет оперировать полиномами Чебышёва, Лежандра, Эрмита, Якоби и др., а также рядом сферических функций.
Интегрируемая на интервале (-1, 1) кусочно-непрерывная функция может быть представлена обобщённым рядом Фурье (в данном случае — по полиномам Лежандра):
где — полином Лежандра степени — коэффициенты Фурье для разложения по полиномам Лежандра. Значения вычисляются по формуле:Пример вычисления разложения функции на интервале (-1, 1) в ряд по полиномам Лежандра представлен следующими командами:
(%i1) load(orthopoly)$ n:5$ f:exp(x)$ l:1$ c(m):=(2*m+1)/2*integrate(f*legendre*p (m, x),x,-l,l)$ z:makelist(k-1, k, 1, n+1)$ cr:makelist(c(z[k]),k,1,n+1)$ fk:makelist(cr[k]*legendre_p (z[k], x),k,1,n+1)$ g:sum(fk[k],k,1,n+1)$
График полученного выражения в сравнении с функцией показан на рис. 3.24.
Как видно из рисунка, графики экспоненты и полученного разложения совпадают. В совпадении результатов можно убедиться, сопоставив выражение (после упрощения) и разложение экспоненты в ряд Тейлора.