Россия |
Задачи высшей математики с Maxima
3.9.5 Ряд Фурье для функций с периодом 2l
Пусть — периодичная с периодом
функция, которая на отрезке
удовлетворяет условиям теоремы Дирихле. Разложим её на этом отрезке в ряд Фурье. Обозначим
![]() |
( 3.3) |
Тогда
![\[f(x)=f\left(\frac{\ell t}{\pi } \right)=\varphi (t)\]](/sites/default/files/tex_cache/5a18329937fa2ec5033a8872c47bd416.png)
Функция — уже
–периодическая функция, так как
![\[\varphi (t+2\pi )=f\left(\frac{\ell }{\pi } (t+2\pi )\right)=f\left(\frac{\ell
t}{\pi } +2\ell \right)=f\left(\frac{\ell t}{\pi } \right)=\varphi (t).\]](/sites/default/files/tex_cache/94a7d292bdb308c28765883449d851b7.png)
Функцию разложим в ряд Фурье на отрезке
![]() |
( 3.4) |
Коэффициенты этого ряда вычисляются по формулам:
![]() |
( 3.5) |
![]() |
( 3.6) |
Возвращаясь к прежней переменной , из равенства (3.3) имеем
. Тогда ряд (3.4) можно представить в виде
![]() |
( 3.7) |
В интегралах (3.5) и (3.6) произведём замену переменной:

Если — чётная на
функция, то
, а
, ряд Фурье такой функции имеет вид:
![\[f(x)=\frac{a_{0} }{2} +\sum _{n=1}^{\infty }a_{n} \cos (\frac{n\pi x}{\ell } )
.\]](/sites/default/files/tex_cache/2914b49bfb32e33da41008bfe97853da.png)
Если — нечётная на
функция, то
,

![\[f(x)=\sum _{n=1}^{\infty } b_{n} \sin (\frac{n\pi x}{\ell } )dx.\]](/sites/default/files/tex_cache/6adbb5e41198c3916d2ef442832e6da2.png)
Пример: Разложить в ряд Фурье периодическую с периодом функцию
, заданную формулой

Эта функция на отрезке [-1, 1] удовлетворяет условиям теоремы Дирихле. Ряд Фурье для данной функции:
![\[f(x)=\frac{1}{4} -\frac{2}{\pi ^{2} } \sum _{k=0}^{\infty }\frac{\cos
((2k+1)x)}{(2k+1)^{2} } +\frac{1}{\pi } \sum _{k=1}^{\infty }\frac{(-1)^{k+1}
}{k} \sin (k\pi x)\]](/sites/default/files/tex_cache/4df8d83d96081552ab32607371a8ccba.png)
Сумма этого ряда в точках равна
.
Рассмотрим видоизменение функции 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) |
Воспользуемся формулами Эйлера:
![\[\cos (nx)=\frac{e^{inx} +e^{-inx} }{2} ,\ \sin (nx)=\frac{e^{inx} -e^{-inx}
}{2i} .\]](/sites/default/files/tex_cache/67356465792cd00654fbb2f5dd59a625.png)
Подставим эти выражения в ряд (3.8), имеем:

Обозначим:
![]() |
( 3.9) |
Тогда

Следовательно
![]() |
( 3.10) |
Выражение (3.10) называется комплексной формой ряда Фурье функции с комплексными коэффициентами Фурье
. Коэффициенты Фурье
вычисляются по формулам
:
![c_{n} &=\frac{1}{2} \left(a_{n} -ib_{n} \right)=
\frac{1}{2\pi} \int _{-\pi }^{\pi }f(x)\left[\cos (nx)-i\sin (nx)\right]dx=\\
&=\frac{1}{2\pi } \int _{-\pi }^{\pi }f(x)\left[\cos (-nx)+i\sin
(-nx)\right]dx=\frac{1}{2\pi } \int _{-\pi }^{\pi }f(x)e^{-inx} dx.](/sites/default/files/tex_cache/d58b69bd44987748e4f7e9cef8e38d05.png)
Если — периодическая с периодом
функция, то её комплексный ряд Фурье имеет вид:
![\[f(x)=\sum _{n=-\infty }^{\infty }c_{n} e^{\cfrac{in\pi x}{\ell } } ,\]](/sites/default/files/tex_cache/4c66f408095f543d7235f61503c1a795.png)
![\[c_{n} =\frac{1}{2\ell } \int _{-\ell }^{\ell }f(x )e^{\cfrac{-in\pi x}{\ell }}dx.\]](/sites/default/files/tex_cache/a93543f5baa42db000d0b0b365030f3a.png)
Пример: Разложить в ряд Фурье с комплексными коэффициентами периодическую с периодом функцию, заданную на отрезке [-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);
![(\%t2)\ {a}_{0}=0\\
(\%t3)\ {a}_{n}=0\\
(\%t4)\ {b}_{n}=\frac{2\,\left( \frac{\mathrm{sin}\left( \pi \,n\right) }
{{n}^{2}}-\frac{\pi \,\mathrm{cos}\left( \pi \,n\right) }{n}\right) }{\pi }\\
(\%o4)\ [\%t2,\%t3,\%t4]](/sites/default/files/tex_cache/6d16d7545000953914e5a4d020b0c5a1.png)
(%i5) foursimp(%);
![(\%t5)\ {a}_{0}=0\\
(\%t6)\ {a}_{n}=0\\
(\%t7)\ {b}_{n}=-\frac{2\,{\left( -1\right) }^{n}}{n}\\
(\%o7)\ [\%t5,\%t6,\%t7]](/sites/default/files/tex_cache/b1ee4131616cd2e23869f273611ef308.png)
(%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.
Как видно из рисунка, графики экспоненты и полученного разложения совпадают. В совпадении результатов можно убедиться, сопоставив выражение (после упрощения) и разложение экспоненты в ряд Тейлора.