Создание собственных процедур. Разложение функции в ряд Фурье. — КиберПедия 

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

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

2017-11-17 412
Создание собственных процедур. Разложение функции в ряд Фурье. 0.00 из 5.00 0 оценок
Заказать работу

В Maple имеется возможность создавать собственные процедуры. Процедура начинается с заголовка. Заголовок состоит из имени процедуры (его пользователь определяет сам), далее следует обязательный оператор присваивания := и служебное слово proc, после которого в круглых скобках через запятую указываются формальные параметры процедуры.

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

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

Общий вид процедуры (стандартный синтаксис):

> name:=proc(var1, var2, …) local vloc1, vloc2,…;

> expr1;

> expr2;

……………

> exprn;

> end;

В Maple нет команды, позволяющей производить разложение функции в тригонометрический ряд Фурье. Однако можно создать собственную процедуру разложения ряд Фурье. Пусть требуется разложить на интервале [ x 1, x 2] 2 l -периодическую функцию f (x). Тогда ряд Фурье имеет вид:

,

где l =(x 2- x 1)/2;

; ; .

 

 

Получить первые 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 – число членов ряда.

 

 

Задание 1.3.

 

1. Разложить в ряд Фурье функцию f (x)= x /2 с периодом 2p на интервале [0; 2p], удерживая 6 членов ряда. Построить на одном рисунке графики функции и ее n -частичной суммы ряда Фурье.

Сначала полностью наберите процедуру fourierseries, предложенную выше в теоретической части.

> f:=x/2:x1:=0:x2:=2*Pi:

> fr:=fourierseries(f,x,x1,x2,6);

> plot({fr,f}, x=x1..x2, color=[blue,black],

thickness=2, linestyle=[3,1]);

Пунктирной линией изображен график n -частичной суммы ряда Фурье, а сплошной – самой функции. По виду n -частичной суммы ряда Фурье в данном примере легко установить общий вид этого ряда:

.

2. Разложить несколько раз в ряд Фурье функцию с периодом 2p на интервале [p;-p], удерживая 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 -частичных сумм ряда Фурье. Видно, что чем больше слагаемых ряда удерживать, тем ближе расположен график суммы ряда к графику самой функции.

 

§2. Аналитическое решение дифференциальных уравнений

 


Поделиться с друзьями:

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.008 с.