Методы решения математических задач в Maple
1 |
x2 |
1 |
x2 |
kπx |
|
1 |
x2 |
kπx |
|
∫f (x)dx ; |
∫ f (x) cos |
|
∫ f (x)sin |
|
|||||
a0 = l |
ak = l |
|
dx ; |
bk = l |
|
dx . |
|||
l |
l |
||||||||
|
x |
|
x |
|
|
|
x |
|
|
|
1 |
|
1 |
|
|
|
1 |
|
|
Получить первые n членов ряда Фурье можно с помощью следующей процедуры:
>fourierseries:=proc(f,x,x1,x2,n) local k, l, a, b, s;
>l:=(x2-x1)/2;
>a[0]:=int(f,x=x1..x2)/l;
>a[k]:=int(f*cos(k*Pi*x/l),x=x1..x2)/l;
>b[k]:=int(f*sin(k*Pi*x/l),x=x1..x2)/l;
>s:=a[0]/2+sum(a[k]*cos(k*Pi*x/l)+ b[k]*sin(k*Pi*x/l), k=1..n);
>end;
Порядок обращения к этой процедуре такой: fourierseries(f,x,x1,x2,n), где f – имя функции, разложение которой требуется найти, где х – имя независимой переменной, где х1, x2 – интервал разложения, где n – число членов ряда.
Задание 4.3.
1. Разложить в ряд Фурье функцию f(x)=x/2 с периодом 2π на интервале [0; 2π], удерживая 6 членов ряда. Построить на одном рисунке графики функции и ее n-частичной суммы ряда Фурье.
Сначала полностью наберите процедуру fourierseries, предложенную выше в теоретической части.
>f:=x/2:x1:=0:x2:=2*Pi:
>fr:=fourierseries(f,x,x1,x2,6);
fr := 12 π −sin(x) − 12 sin(2x) − 13 sin(3x) − 14 sin(4x) − 15 sin(5x) − 16 sin(6x)
>plot({fr,f}, x=x1..x2, color=[blue,black], thickness=2, linestyle=[3,1]]);
106
Методы решения математических задач в Maple
Пунктирной линией изображен график n-частичной суммы ряда Фурье, а сплошной – самой функции. По виду n-частичной суммы ряда Фурье в данном примере легко установить общий вид этого ряда:
|
|
π |
|
∞ |
|
|
f (x) |
= |
− ∑sin kx . |
||||
2 |
||||||
|
|
|
k =1 |
k |
||
|
|
|
|
|
||
2. Разложить несколько раз в |
ряд |
Фурье функцию f (x) = e−x с |
||||
периодом 2π на интервале [π;−π], удерживая 2, 4 и 8 членов ряда. Построить на одном рисунке графики функции и ее n-частичных сумм ряда Фурье.
>f:=exp(-x);x1:=-Pi;x2:=Pi:
>fr1:=fourierseries(f,x,x1,x2,2):
>fr2:=fourierseries(f,x,x1,x2,4):
>fr3:=fourierseries(f,x,x1,x2,8):
>plot({f,fr1,fr2,fr3},x=x1..x2,color=[black, blue, green, red], thickness=2, linestyle= [1,3,2,2]);
Сплошной линией изображен график функции, пунктирными – графики n-частичных сумм ряда Фурье. Видно, что чем больше слагаемых ряда удерживать, тем ближе расположен график суммы ряда к графику самой функции.
107
Методы решения математических задач в Maple
§5. Интегральные преобразования
В Maple имеется пакет inttrans, в котором содержатся команды различных интегральных преобразований.
Преобразование Фурье.
Прямое преобразование Фурье функции f(x) вычисляется по формуле
∞
F(k) = ∫f (x)e−ikxdx .
−∞
В Maple оно может быть найдено командой fourier(f(x),x,k), где x − переменная, по которой производится преобразование, k − имя переменной, которое следует присвоить параметру преобразования.
Обратное преобразование Фурье задается формулой
∞
f (x) = 21π −∫∞F (k)eikxdk
и вычисляется командой invfourier(F(k),k,x).
Описанное выше прямое и обратное преобразования Фурье называются комплексными и применяются в тех случаях, когда функция f(x) задана на всей числовой оси. Если функция f(x) задана только при х>0, то рекомендуется использовать синус- и косинуспреобразования Фурье.
Прямое и обратное синус-преобразования Фурье функции f(x) определяются формулами
F(k) = π2 |
∞ |
π2 |
∞ |
∫ f (x) sin kxdx и f (x) = |
∫F(k)sin kxdk . |
||
|
0 |
|
−∞ |
Поскольку формулы синус-преобразования Фурье симметричны относительно замены x на k, то в Maple эти преобразования вычисляются одной командой, но с различным порядком указания параметров: fouriersin(f(x),x,k) − вычисляет прямое синуспреобразование Фурье; fouriersin(F(k),k,x) − вычисляет обратное синус-преобразование Фурье.
Аналогично, прямое и обратное косинус-преобразования Фурье функции f(x) определяются формулами
108
Методы решения математических задач в Maple
|
∞ |
f (x) = π2 |
∞ |
F(k) = |
π2 ∫ f (x) cos kxdx и |
∫F(k) cos kxdk . |
|
|
0 |
|
−∞ |
В Maple эти преобразования вычисляются одной командой, но с |
|||
различным |
порядком |
указания |
параметров: |
fourierсоs(f(x),x,k) − вычисляет прямое косинуспреобразование Фурье; fourierсоs(F(k),k,x) − вычисляет обратное косинус-преобразование Фурье.
Задание 5.1.
1.Для функции f (x) = e−a x , a > 0 найти преобразование Фурье.
>restart:with(inttrans): assume(a>0):
>fourier(exp(-a*abs(x)),x,k);
|
|
|
2 |
a ~ |
|
|
1 |
k 2 + a ~2 |
|
||
|
|
|
|
||
2. Для функции |
F(k) = |
|
, a>0 найти обратное преобразование |
||
k 2 − a2 |
|||||
Фурье. |
|
|
|
|
|
> invfourier(1/(k^2-a^2),k,x);
− |
1 |
I (Heaviside(x) − Heaviside(−x))(−e(Ia ~ x) + e(−Ia ~ x) ) |
|
4 |
a ~ |
||
|
После обратного преобразования Фурье результат часто содержит специальные функции (см. Лабораторную работу №1). В данном примере в строке вывода появилась функция Хевисайда:
1, x > 0 Heaviside(x)=
0, x < 0
Результат выполнения обратного преобразования Фурье может иметь более компактный вид после применения команды convert(%,trig).
>convert(%,trig);
−1 (Heaviside(x) − Heaviside(−x)) sin(a ~ x) 2 a ~
3. Для функции f (x) = e−ax sinbx , a>0 найти синус- и косинуспреобразования Фурье.
>f:=exp(-a*x)*sin(b*x):
>fouriercos(f,x,k);
109
Методы решения математических задач в Maple
|
|
1 |
|
|
|
k + b |
|
|
1 |
|
|
|
b − k |
|
|
2 |
|
|
|
|
|
|
|
+ |
|
|
|
|
|
|
|
|
|
|
2 |
|
2 |
|
|
|
2 |
|
2 |
||||
|
|
2 a ~ |
+(k + b) |
|
2 |
|
a ~ |
+(b − k) |
|
||||||
|
|
|
|
|
|
|
|
|
|||||||
π
> fouriercos(f,x,k);
|
|
|
1 |
|
|
|
|
1 |
|
|
|
|
2a ~ |
|
|
|
|
− |
|
|
|
|
|
|
|
2 |
|
2 |
|
2 |
|
2 |
|||
1 |
|
+(b − k) |
|
a ~ |
+(k + b) |
|
|||||
a ~ |
|
|
|
|
|
|
|||||
2 |
|
|
|
π |
|
|
|
|
|
|
|
Преобразование Лапласа.
Преобразование Лапласа функции f(x) (если оно существует) вычисляется по формуле:
∞
F( p) = ∫ f (x)e− pxdx .
0
Получаемая функция F(p) называется изображением.
В Maple это преобразование вычисляется командой laplace(f(x),x,p) , где x − переменная, по которой производится преобразование, p − имя переменной, которое следует присвоить параметру преобразования.
Обратное преобразование Лапласа (называется оригиналом) вычисляется по формуле:
|
1 |
a +i∞ |
|
f (x) = |
∫F( p)e pxdp . |
||
2πi |
|||
|
|
a −i∞ |
Оригинал f(x) (если он существует) может быть найден по изображению F(p) командой invlaplace(F(p),p,x).
Задание 5.2.
1. Найти изображение функции f (x) = cos axshbx .
>restart:with(inttrans):
>F(p)=laplace(cos(a*x)*sinh(b*x), x, p);
F( p) = |
1 |
p −b |
− |
1 |
|
p + b |
|
. |
|
2 ( p −b)2 + a2 |
2 ( p + b)2 + a2 |
||||||||
|
|
|
|||||||
2. Найти оригинал Лапласа функции F( p) = |
1 |
, a>0. |
|||||||
|
p2 + 2ap |
||||||||
> assume(a>0): invlaplace(1/(p^2+2*a*p),p,x):
110