Решение задачи об оптимальной интерполяции с помощью дискретного преобразования Фурье (ДПФ)

Решение задачи об оптимальной интерполяции с помощью дискретного преобразования Фурье (ДПФ)

Введение

Предложенная мне тема «Решение задачи об оптимальной интерполяции с помощью дискретного преобразования Фурье (ДПФ)» написана на основе книги В. Н. Малоземова и С. М. Машарского «Основы дискретного гармонического анализа». Дискретный гармонический анализ – это математическая дисциплина, результаты которой активно используются в цифровой обработке сигналов. По ходу изучения книги возникли новые задачи, две из которых приведены в разделе «Решения задач». В данной работе также сравнивается ДПФ с непрерывным преобразованием Фурье. В приложениях в случае классического преобразования приходится приближенно заменят интегралы некоторыми суммами. При этом основная трудность связана с необходимостью оценки погрешности на каждом из последующих этапов. ДПФ тем выгоднее и отличаются, что здесь с самого начала вместо интегралов имеем дело с суммами. При этом основные цели использования ДПФ также достигаются.

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

Отдельные задачи в рамках дипломной работы мне решить не удалось. Они не вошли в дипломную работу.

Основная работа свелась к изложению основных фактов с подробными доказательствами. В начале дипломной работы имеется раздел «Вспомогательный материал», в котором кратко изложены факты, необходимые для чтения основного текста. Эти факты хорошо известны и касаются тех понятий и терминов, которые встречаются в теории чисел, в теории линейных комплексных пространств и в линейной алгебре. Все эти понятия используются для получения более важных результатов в последующих параграфах. 

Далее вводится пространство - периодических векторов  и устанавливается тот факт, что - линейное комплексное пространство. 

Над элементами этого пространства определяются прямое и обратное ДПФ.

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

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

2

§ 1. Вспомогательный материал

В данной работе используются следующие обозначения:

Z, R, C – множества целых, действительных и комплексных чисел соответственно;

m : n – множество последовательных целых чисел {m, m+1, … , n}.

1.Корни из единицы. Допустим – натуральное число, . Введём комплексное число

 (1)

По формуле Муавра при натуральном k получаем

 (2)

В частности,  Число  называется корнем – й степени из единицы.

Формула (2) верна при k=0. Покажем, что она верна и при целых отрицательных степенях . Действительно, 



Значит, получили, что формула (2) справедлива при всех 

Отметим, что  и  при натуральном . Из (2) и свойств тригонометрических функций следует также, что при всех целых  и 

 

Применяя формулу Эйлера, имеем 



2.Комплексное унитарное пространство. Будем говорить, что в комплексном линейном пространстве определено скалярное умножение, если всякой паре векторов a, b поставлено в соответствие число, обозначаемое символом (a, b) и называемое скалярным произведением векторов a и b. Причём (a, b) будет, вообще говоря, комплексным числом. 

3

При этом должны выполнятся аксиомы:

1., где черта обозначает, как обычно, переход к сопряжённому комплексному числу;

2.

3.

4.Если а ≠ 0, то скалярный квадрат вектора а строго положителен, т.е.

(а. а) > 0, а если (а, а) = 0, то а = 0.

Комплексное линейное пространство называется унитарным пространством, если в нём задано скалярное умножение.

Векторы а и b называются ортогональными, если их скалярное произведение равно нулю

(а, b) = 0.

Система векторов называется ортогональной системой, если все векторы этой системы попарно ортогональны.

Назовём вектор b нормированным, если его скалярный квадрат равен единице

(b, b) = 1.

При этом, если  - ортонормированная база и векторы а, b 

имеют в этом базе записи

а = ,  , то .

Также имеем равенство

 (3)

3.Вычеты. Пусть и  – натуральное число. Существует единственное целое число , такое, что 

 (4)

Оно называется целой частью дроби  и обозначается  

Разность  называется вычетом  по модулю  и обозначается .

4

Нетрудно показать, что 

. (5) 

Действительно, умножим неравенства (4) на  и вычтем .

Получим , что равносильно (5).

4.Функции комплексного переменного. На плоскостях комплексных переменных z и w рассмотрим соответственно множества  и .

Если указан закон f, по котором каждому значению  сопоставляется единственное значение , то говорят, что на множестве Е определена однозначная функция комплексного переменного z и пишут w=f(z).

Функции определяются как суммы степенных рядов:

, , . (6)

Из этих равенств непосредственно можно получить следующие формулы Эйлера: 

, , . (7)

5.Матрицы. Прямоугольная таблица чисел, записанная в виде

 (8)

называется матрицей.

Коротко матрицу обозначают так: , ;

где  - элемент данной матрицы, который находится в i-й строке и j-м столбце матрицы А.

5

Некоторые свойства матриц:

1. сумма С = А + В двух матриц А и В одного размера mn – это матрица

С = (с), где с = a + b для всех i, j;

сумма матриц разных размеров не определяется.

2.Произведение С = λА матрицы А и элемента λС – это матрица того же размера, что и А, причём при всех i, j.

3.Произведение С = АВ матрицы А размера mn и матрицы В размера np – это матрица С размера mp такая, что



Произведение матриц в общем случае некоммутативно, т.е АВ≠ВА.

Транспонированная матрица  (по отношению к матрице А) – такая матрица, что .

Совокупность элементов  квадратной матрицы  называется главной диагональю матрицы.

Матрица, у которой элементы, стоящие на главной диагонали, равны единице, а все остальные элементы равны 0, называется единичной матрицей и обозначается буквой Е.

Напомним, что 

АЕ = А и ЕА = А.

Матрица называется ортогональной, если строки образуют ортогональную систему векторов и норма каждой строки равна единице.

Квадратная матрица называется симметрической, если 

.

6.Определители. Всякое расположение чисел 1, 2, …, n в некотором определённом порядке называется перестановкой из n чисел.

Говорят, что в данной перестановке числа i и j составляют инверсию, если i>j, но i стоит в этой перестановке раньше j.

Перестановку называют чётной, если её символы составляют чётное число инверсий, и нечётной – в противоположном случае.

Всякое взаимно однозначное отображение А множества первых n натуральных чисел на себя называется подстановкой n-й степени, причём, очевидно, всякая подстановка А может быть записана при помощи двух перестановок, подписанных одна под другой.

6

Подстановка А будет чётной, если общее число инверсий в двух строках любой её записи чётно, и нечётной – в противоположном случае.

Определителем n-го порядка называется алгебраическая сумма n! членов, составленная следующим образом: членами служат всевозможные произведения n элементов матрицы, взятых по одному в каждой строке и в каждом столбце, причём член берётся со знаком плюс, если его индексы составляют чётную подстановку и со знаком минус в противоположном случае.

Для определителя квадратной матрицы А используется обозначение |A| или detA.

Свойства определителя:

1.определитель транспонированной матрицы равен определителю исходной, т.е.

det(AT) = detA;

2.если все элементы строки умножить на , то определитель умножится на ;

3. если каждый элемент некоторой строки определителя представлен в виде суммы двух слагаемых, то определитель можно представить в виде суммы двух определителей, у которых все строки, кроме данной прежние, а в данной строке в первом определителе стоят первые, а во втором – вторые слагаемые;

3’. аналогичные свойства для столбцов;

4. если две какие–либо строки (столбца) матрицы поменять местами, то определитель матрицы умножиться на (-1);

5. определитель с двумя одинаковыми строками (столбцами) равен 0;

6. определитель не изменится, если к какой–либо его строке (столбцу) прибавить другую строку (столбец), умноженную на .

Алгебраическое дополнение  к элементу квадратной матрицы определяется равенством 

, 

где  (минор) – определитель матрицы, полученной удалением из А – й строки и – го столбца. 

7

Определитель можно разложить по любой строке и любому столбцу.

Разложение по i–й строке имеет вид:

.

7.Обратная матрица. Матрица А, у которой detA≠0, называется невырожденной.

Обратная матрица В = А-1 (по отношению к матрице А) – такая матрица, что АВ = ВА = Е.

Обратная матрица существует в том и только в том случае, когда матрица А невырожденная.

В этом случае 

, (9)

где – алгебраические дополнения к элементам .

Если матрица А – ортогональная и симметрическая, то

А-1 = А.

8.Конечные разности. Конечные разности вектора  определяются рекуррентно :



Вместо  пишут обычно .

Конечную разность  порядка  можно непосредственно выразить через значения вектора .

Справедлива формула

. (10)

8

§ 2. Пространство N – периодических комплекснозначных векторов

Зафиксируем натуральное число N. Определяем пространство следующим образом

.

Введём в  две операции – операция сложения двух векторов и операция умножения вектора на комплексное число:

  

  

В результате получим линейное комплексное пространство.

Введём символ , у которого, когда  делится на , и при остальных  Очевидно, что 

Лемма 1. Для  справедливо следующее равенство

 (1)

Доказательство. Так как в обеих частях (1) стоят N–периодические векторы, проверим равенство при Поскольку при  выполняются неравенства

 

то  при  Отсюда имеем 



Таким образом, лемма доказана.

Формула (1) даёт аналитическое представление вектора х по его значениям на основном периоде 

9

Рассмотрим следующую систему сдвигов вектора 

 (2)

Покажем, что эта система линейно независима на Z. Действительно, пусть

 при 

Как отмечалось, левая часть этого равенства равна  так что  при всех 

Поэтому согласно лемме 1 любой вектор х разлагается по линейно независимой системе (2). Таким образом, показали, что система (2) является базисом пространства . При этом размерность пространства  равна N, т.е. 

Следующее вспомогательное утверждение будем часто использовать в дальнейшем.



Лемма 2. Для любого вектора  при всех  справедливо равенство

 (3)

Доказательство. Пусть  где  - целая часть дроби, а - остаток от деления  на . Воспользуемся  периодичностью вектора  и тем, что  Тогда получим 



Что и требовалось доказать.

10

Следствие. В условиях леммы 2 справедливо равенство

 (4)

Действительно, 



Следствие доказано.

Определим в  скалярное произведение и норму



Как и в комплексном унитарном пространстве, в  два вектора x, y называются ортогональными, если  Вектор называется нормированным, если ||x||=1.

Лемма 3. При всех  справедливо равенство

 (5)



Доказательство. Зафиксируем k и введём вектор  После чего, учитывая чётность  и формулу (1), запишем 



Что и требовалось доказать.

Следствие. Система векторов (2) является ортонормированной, т. е. образует ортонормированный базис в пространстве 

11

Наряду с вектором  будем рассматривать векторы , . Эти 

векторы определяются следующим образом, а именно получаем векторы со значениями 

 соответственно.

Отметим также, что 

Введём понятия чётности и нечётности вектора.

Вектор  называется чётным, если  и нечётным, если  при всех . 

Вектор  называется вещественным, если , и чисто мнимым, если 

12

§ 3. ДПФ. Основные свойства

Возьмём корень  степени из единицы 

Лемма 1. Имеет место равенство

,  (1)

Доказательство. Заметим, что в левой части (1) стоит  – периодическая функция. 

На самом деле, 

 при 

–периодическим является и  Поэтому достаточно проверить равенство (1) при .

При  оно тривиально. Пусть  Из формулы для суммы членов геометрической прогрессии имеем

 при 

Положив , получим

 при .

Равенство доказано.

1.Непрерывное преобразование Фурье и формула обращения.

Функция , заданная на всей числовой прямой и определяемая формулой

, (2)

называется преобразованием Фурье исходной функции .

13

Формула, выражающая  через её преобразование Фурье и имеющая вид

, (3)

называется формулой обращения для непрерывного преобразования Фурье.

Следует обратить внимание на сходство между формулами (1) и (2).

Вторая из них отличается от первой лишь знаком в показателе и множителем  перед интегралом.

2.Дискретное преобразование Фурье (ДПФ). Определение. 

ДПФ – это отображение

, 

сопоставляющее вектору  вектор  со значениями

 (4)

Вектор X называется спектром Фурье вектора x или просто спектром, а величины X(k) – компонентами спектра или спектральными составляющими соответствующего вектора.

Теорема 1. Имеет место формула обращения

 (5)

Доказательство. Из формул (1), (4) и из формулы (1) предыдущего параграфа имеем



Теорема доказана.

14

Формулу (5) можно записать компактно так:  

Введём обозначение . Тогда формула (5) для ДПФ примет вид

 (6)

Из равенства (6) видно, что вектор  разлагается по системе векторов

 (7)

Коэффициентами в этом разложении являются компоненты спектра.

Лемма 2. Для любого целого k имеем .

Доказательство. Действительно, 



Лемма доказана.

Лемма 3. Система векторов (7) ортогональна. При этом  при всех 

Доказательство. Имеем при 



Отсюда очевидным образом следует требуемое.

15

Лемма 4. Система  линейно независима.

Доказательство. Чтобы показать линейную независимость данной системы, надо проверить равенство



тогда и только тогда, когда 

Возьмём скалярное произведение и покажем справедливость данного равенства:



Т.к. векторы ортогональные, то

 при 

Нетрудно видеть, что . Так как , то 

Лемма доказана.

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

Возьмём вектор 

Тогда

 - разложение вектора  в базисе (7).

Умножив обе части данного разложения на , получим 

Учитывая тот факт, что , приходим к равенству 

 (9)

Таким образом, формула (9) определяет коэффициенты Фурье вектора 

16 

Рассмотрим матрицу, элементами которой является компоненты векторов :

, 

Это матрица ДПФ. Очевидно, у этой матрицы строки ортогональны.

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

Лемма 5. Матрица  будет ортогональной.

Доказательство. Для того чтобы доказать факт надо показать:

1.строки данной матрицы образуют ортогональную систему векторов;

2.норма каждой строки равна единице.

Покажем сначала первое, т.е. 



Далее



Лемма доказана.

17

Лемма 6. Матрица  является симметрической.

Доказательство. Чтобы доказать данную лемму, покажем справедливость равенства 

Итак, 

, 



Лемма доказана.

Раз матрица  - ортогональная и симметрическая, то  

Тогда  т.к.



Итак, - матрица обратного преобразования Фурье.

В дальнейшем нам понадобится следующее утверждение.

Лемма 7. Если имеем действительное евклидовое пространство, то

. (10)

В случае комплексного пространства имеем

. (11)

Доказательство. 

Пусть  - матрица преобразования Фурье.

Тогда

.

18

Рассмотрим скалярное произведение

- левая часть нашего 

равенства.

Учитывая, что



рассмотрим

 - правая часть 

нашего равенства.

Правая часть равенства совпала с левой частью, значит, (11) - верное равенство. 

Лемма доказана.

Далее рассмотрим свойства ДПФ.

Теорема 2. Пусть Тогда

 (12)

Доказательство. Учитывая формулу (12) и тот факт, что матрица  является симметрической и ортогональной, получим





Что и требовалось доказать.

Следствие. В условиях теоремы 2 справедливо равенство

 (13)

Формула (13) называется равенством Парсеваля, а формула (12) – обобщённым равенством Парсеваля.

19

§ 4. Задача восстановления координат

Ставится задача следующим образом. Пусть  где  и 



Также считается известными и 

Требуется узнать, можно ли найти  при условии, что 

В приводимой ниже теореме показывается, что при некотором предположении координаты вектора  полностью восстанавливаются.

Теорема. Если спектр  вектора  равен нулю на некотором множестве , то 

 (1)

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

 (2)

Зафиксируем  и пусть  Продолжив  периодически с периодом  на , получим вектор , принадлежащий  Вычислим его ДПФ:



Применяя формулу обращения, приходим к равенству 



20

Подставив это выражение в (2), придём к (1). Действительно, 



Теорема доказана.

Упростим формулу для h. Очевидно, что 



Так как 

.

Аналогичным образом получаем

.

При  имеем



Итак, получаем

 (3)

21

В простейшем случае, когда  формула (3) принимает вид

 (4) 

Проверим это. При всех  имеем



что равносильно требуемому.

В случае  нашу теорему можно переформулировать так: если на основном периоде  половина значений спектра  с индексами  равна нулю, то вектор  восстанавливается по половине своих 

компонентов  с помощью формулы



где h имеет вид (4).

22

§5.Интерполяционная задача.

Рассмотрим следующую интерполяционную задачу

 (1)

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

Решение данной интерполяционной задачи сформулируем в виде теоремы.

Теорема. Решением задачи (1) является вектор

 (2)

Доказательство. Однородная система 



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



Теорема доказана.

23

§ 6. Свёртка векторов

Свёрткой векторов  называется вектор  с компонентами

 (1)

Теорема 1 (о свёртке). Пусть  Тогда

 (2)

где справа стоит покомпонентное произведение спектров§, которое определяется следующим образом

 

Доказательство. 

По формуле (2) из § 2 имеем







что соответствует (2). Что требовалось доказать.

Из теоремы 1 как следствие можно получить следующий результат.

Следствие. Справедливо равенство

 (3)

Сформулируем свойства свёртки в виде теоремы.

Теорема 2. Свёртка коммутативна и ассоциативна.

Доказательство. Коммутативность , непосредственно следует из (3). Проверим ассоциативность. Возьмём три вектора  и обозначим через  их спектры. 

24

Учитывая (2) и (3), получаем





Теорема доказана.

Преобразование  называется линейным, если для любых  и любых , имеет место равенство



В качестве примера линейного преобразования рассмотрим оператор сдвига , сопоставляющий вектору  вектор  с координатами 

Преобразование  называется стационарным, если 

для всех  

Из определения получаем 

, 

где - тождественный оператор.

Теорема 3. Преобразование  будет линейным и стационарным тогда и только тогда, когда найдётся вектор , такой, что

 при всех  (4)

Доказательство. 

Необходимость. Учитывая, что  перепишем формулу (1) из § 2 в виде



Так как оператор  линейный и стационарный, то получим



25

Допустив, что , приходим к равенству



Достаточность. Линейность сверточного оператора очевидна. Остается проверить стационарность. В силу коммутативности свертки



Далее запишем



Что и требовалось доказать.

Рассмотрим операцию взятия конечной разности  порядка:



Сначала покажем, что  где

 

Согласно (1) из § 2 имеем



что и требовалось установить.

26

§ 7. Решение задачи оптимальной интерполяции

Допустим, что - натуральное число. Рассмотрим следующую экстремальную задачу:

 (1)

В этой задаче требуется построить возможно более гладкий вектор, принимающий в узлах  заданные значения  а гладкость данного вектора характеризуется квадратом нормы конечной разности r – го порядка. Чаще всего рассматривается случай, когда r=2.

Проведём замену переменных



После чего перепишем задачу (1) в компонентах  Этот процесс начнём с целевой функции. Как было показано в последнем примере предыдущего параграфа  где  определяется соответственно формулой (5) того же параграфа. Далее используя равенство Парсеваля и формулу из теоремы о свёртке, получаем





Отметим только, что здесь



Введём обозначение



27

Тогда  и 

 (2)

Теперь обратимся к ограничениям. Имеем



Таким образом, ограничения задачи (1) принимают вид



Последняя формула представляет собой разложение вектора  по экспоненциальному базису. Она равносильна тому, что 

 (3)

где  На основании (2) и (3) приходим к эквивалентной постановке задачи (1):



 (4)

Последняя задача, т.е. задача (4) распадается на m независимых подзадач, соответствующих разным 



 (5)

28

Поскольку , то при  приходим к задаче 





Решение этой задачи имеет вид 

 (6)

Заметим только, что минимальное решение целевой функции равно нулю.

Допустим теперь, что 

В этом случае мы данную задачу решаем методом множителей Лагранжа.

Строим функцию Лагранжа:

.

Итак, 

 

 (7)

Чтобы найти  воспользуемся ограничениями

.

Из этого выражения находим : 



Подставив  в (7), получим решение задачи (4) при 

 

29

Введём обозначение



Тогда окончательное решение запишется в виде

 (8)

Формулы (6) и (8) определяют  на всём основном периоде  По формуле обращения находим единственное решение задачи (1):

 (9)

При этом минимальное значение целевой функции задачи (1) складывается из минимальных значений целевых функций задач (5) при , так, что 

.

Преобразуем (9) к более удобному для вычислений виду. Индексы  представим в виде  и 

Согласно (6) и (8) запишем





Таким образом, приходим к следующей схеме решения задачи (1):

1. в первую очередь, формируем два массива констант, зависящих только от m, n и r:

одномерный



30

и (по столбцам) составляем двумерный



2. вычисляем  при 

3. после этого вводим двумерный массив В со столбцами 



4. и наконец, применяя обратное ДПФ порядка m ко всем n-1 строкам матрицы В, получаем решение задачи (1):



31

Решения задач

Задача 1. Докажите, что



Доказательство. По определению сравнения



Используя свойства сравнений, получим



Или в одну строку 



т.е. 12 есть остаток от данного деления.

Задача 2. Пусть  и даны два вектора 



Требуется найти 

Решение. Согласно формуле для вычисления свертки, имеем



32

Задача 3. Докажите, что 



Доказательство. Докажем данное равенство методом математической индукции.

При n=1 имеем верное равенство



Пусть n=k



Тогда





Равенство доказано.

Задача 4. (Китайская теорема об остатках). Предположим, что , причём сомножители  - попарно взаимно простые и отличные от единицы числа. Докажите, что система уравнений  или

 (1)

имеет единственное решение на множестве  при любых  Найдите это решение.

Доказательство.

Пусть числа  определены без условий и 

33

Тогда число  - является решением

системы (1).

Действительно, так как 



то

, 

так как все слагаемые в правой части делятся на . 

Известно, что 

. 

Последнее сравнение умножим на :

 (2)

Тогда  - решение сравнения  Аналогично можно показать, что  - 

решение всех остальных сравнений системы (1). Таким образом,  - решение системы (1).

Докажем теперь единственность этого решения.

Пусть  - какое-нибудь другое решение данной системы, т.е. имеем

 (3)

Сравнение (2) перепишем в виде Вычитая из сравнения (2) сравнение (3), приходим к  

Таким образом, доказали единственность решения системы (1).

34

Задача 5. Докажите, что при  и натуральных  справедливо равенство

 

Доказательство. По определению вычета имеем



Итак, 

Задача 6. Пусть  - взаимно простые и натуральные числа, т.е. 

Положим  Докажите, что множества  равны, т.е. состоят из одних и тех же элементов.

Доказательство. Общий элемент множества  представляется в виде:



а множества  - в виде:



Так как функции  периодические с периодом  и  пробегает , то их значения совпадают, т.е. множества  равны.

35

Задача 7. Докажите, что 



Доказательство. (Метод математической индукции).

При  имеем верное равенство. Пусть верно и при  

Перейдём к случаю, когда 

 (верно).

Задача 8. Докажите, что конечная разность  порядка от алгебраического полинома  степени равна тождественно нулю.

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



Отсюда следует, что  если 

алгебраический полином, у которого 

А производная  порядка, как известно, от полинома степени  равно нулю.

36

Задача 9. Докажите, что сигнал  является чётным тогда и только тогда, когда 



Доказательство. 

Необходимость. Пусть  - чётный сигнал, т.е. выполняется равенство 

 Тогда учитывая периодичность и чётность данного сигнала, имеем:



Достаточность. Допустим имеем:  Покажем, что 

Действительно, 



Задача 10.Приведём пример на вычисление ДПФ. Пусть  и 



Покажем, что  

По определению ДПФ



Поскольку  то  так что 



37

Остаётся учесть, что в случае, когда  не делится на (в частности, при нечётных ), справедливо равенство 



38

Программы

Листинг программы для вычисления ДПФ

uses crt;

const

N=3;

var

j, k:integer;

xm, X_r, X_i:array[0..N-1] of real;

begin clrscr;

for k:=0 to N-1 do

readln(xm[k]);

for j:=0 to N-1 do begin

X_r[j]:=0; X_i[j]:=0;

end;

for j:=0 to N-1 do

for k:=0 to N-1 do begin

X_r[j]:=X_r[j]+cos(2*pi*j*k/N)*xm[k];

X_i[j]:=X_i[j]+sin(2*pi*j*k/N)*xm[k];

end;

for j:=0 to N-1 do begin

if X_i[j]<0 then

writeln(X_r[j]:6:2, ' +i*', - X_i[j]:5:2)

else writeln(X_r[j]:6:2, ' - i*', X_i[j]:5:2)

end;

readkey;

end.

39

Листинг программы для вычисления свёртки

uses crt;

const N=3;

var

x, v:array[0..N-1] of real;

y:array[1-N..N-1] of real;

j, k:integer;

begin clrscr;

for k:=0 to N-1 do

readln(x[k]); writeln;

for k:=0 to N-1 do

{for j:=0 to N-1 do}

readln(y[k]); writeln;

{for j:=0 to N-1 do}

for k:=1 to N-1 do

y[-k]:=y[N-k];

{------------------------------------}

for k:=1-N to N-1 do writeln(y[k]:4:1); writeln;

{----------------------------------}

for j:=0 to N-1 do

v[j]:=0;

for j:=0 to N-1 do

for k:=0 to N-1 do

v[j]:=v[j]+x[k]*y[j-k];

for j:=0 to N-1 do

writeln(v[j]:4:1);

readkey;

end.

40

Листинг программы для вычисления одномерного массива 

uses crt;

const nb=12; n=3; m=4;

var

l, s:array[1..m-1] of real;

D_r, D_i, SR, SI:array[1..n-1, 1..m-1] of real;

p, q, t:integer;

{-----------------------------------}

begin clrscr;

for p:=1 to m-1 do

s[p]:=0;

for p:=1 to m-1 do

for q:=0 to n-1 do

s[p]:=s[p]+1/(16*exp(4*ln(sin((pi*(p+m*q))/nb))));

for p:=1 to m-1 do

l[p]:=n/s[p];

for p:=1 to m-1 do

writeln(l[p]:4:1); writeln;

{----------------------------}

for t:=1 to n-1 do

for p:=1 to m-1 do begin

SR[t, p]:=0; SI[t, p]:=0; end;

for t:=1 to n-1 do

for p:=1 to m-1 do

for q:=0 to n-1 do

SR[t, p]:=SR[t, p]+cos((2*pi*q*t)/n)/(16*exp(4*ln(sin((pi*(p+m*q))/nb))));

SI[t, p]:=SI[t, p]+sin((2*pi*q*t)/n)/(16*exp(4*ln(sin((pi*(p+m*q))/nb))));

for t:=1 to n-1 do

for p:=1 to m-1 do

D_r[t, p]:=SR[t, p]*cos((2*pi*q*t)/nb)-SI[t, p]*sin((2*pi*q*t)/nb);

D_i[t, p]:=SR[t, p]*sin((2*pi*q*t)/nb)+SI[t, p]*cos((2*pi*q*t)/nb);

for t:=1 to n-1 do begin writeln;

for p:=1 to m-1 do

write(D_r[t, p]:5:1);

end;

readkey;

end.

41

Листинг программы для решения задачи оптимальной интерполяции

uses crt;

const

m=4; n=3; nb=12;

var

j, p, q, t, lm:integer;

zm, l, s, zv_r, zv_i:array[1..m-1] of real;

Z_r, Z_i:array[0..m-1] of real;

D_r, D_i, SR, SI:array[1..n-1, 1..m-1] of real;

B_r, B_i:array[1..n-1, 0..m-1] of real;

xr_i, xr_r, x_i, x_r:array[0..nb-1] of real;

{---------------------------------------------}

begin clrscr;

for p:=1 to m-1 do

s[p]:=0;

for p:=1 to m-1 do

for q:=0 to n-1 do

s[p]:=s[p]+1/(16*exp(4*ln(sin((pi*(p+m*q))/nb))));

for p:=1 to m-1 do

l[p]:=n/s[p];

writeln('lambda p');

for p:=1 to m-1 do

writeln(l[p]:4:1); writeln;

{-----------------------------------------------}

for j:=1 to m-1 do

readln(zm[j]);

Z_r[0]:=0; Z_i[0]:=0;

for j:=1 to m-1 do

Z_r[0]:=Z_r[0]+zm[j];

for p:=1 to m-1 do begin

Z_r[p]:=0; Z_i[p]:=0;

end;

for p:=1 to m-1 do

for j:=1 to m-1 do begin

Z_r[p]:=Z_r[p]+cos(2*pi*p*j/m)*zm[j];

Z_i[p]:=Z_i[p]+sin(2*pi*p*j/m)*zm[j];

end;

writeln('Z(p)');

for p:=1 to m-1 do

writeln(Z_r[p]:6:2, ' ', Z_i[p]:6:2); writeln;

{-------------------------------------------------}

for p:=1 to m-1 do begin

zv_r[p]:=l[p]*Z_r[p];

zv_i[p]:=l[p]*Z_i[p];

end;

42

writeln('Z s volnoy');

for p:=1 to m-1 do

writeln(zv_r[p]:6:2, ' ', zv_i[p]:6:2); writeln;

{---------------------------------------------------}

for t:=1 to n-1 do

for p:=1 to m-1 do begin

SR[t, p]:=0; SI[t, p]:=0; end;

for t:=1 to n-1 do

for p:=1 to m-1 do

for q:=0 to n-1 do

SR[t, p]:=SR[t, p]+cos((2*pi*q*t)/n)/(16*exp(4*ln(sin((pi*(p+m*q))/nb))));

SI[t, p]:=SI[t, p]+sin((2*pi*q*t)/n)/(16*exp(4*ln(sin((pi*(p+m*q))/nb))));

for t:=1 to n-1 do

for p:=1 to m-1 do

D_r[t, p]:=SR[t, p]*cos((2*pi*q*t)/nb)-SI[t, p]*sin((2*pi*q*t)/nb);

D_i[t, p]:=SR[t, p]*sin((2*pi*q*t)/nb)+SI[t, p]*cos((2*pi*q*t)/nb);

writeln; writeln('Matriza D');

for t:=1 to n-1 do begin writeln;

for p:=1 to m-1 do

write(D_r[t, p]:5:1);

end;

writeln;

for t:=1 to n-1 do begin writeln;

for p:=1 to m-1 do

write(D_i[t, p]:5:1);

end;

{-----------------------------------------------}

for t:=1 to n-1 do

for p:=1 to m-1 do begin

B_r[t, p]:=zv_r[p]*D_r[t, p];

B_i[t, p]:=zv_i[p]*D_i[t, p];

end;

for t:=1 to n-1 do begin

B_r[t, 0]:=Z_r[0];

B_i[t, 0]:=Z_r[0];

end;

writeln; writeln('Matriza B');

for t:=1 to n-1 do begin writeln;

for p:=0 to m-1 do

write(B_r[t, p]:5:1); writeln;

end;

writeln;

for t:=1 to n-1 do begin writeln;

for p:=0 to m-1 do

write(B_i[t, p]:5:1); writeln;

end;

{-----------------------------------------------}

for t:=1 to n-1 do

43

for lm:=0 to m-1 do begin

x_r[t+lm*n]:=0;

x_i[t+lm*n]:=0;

end;

for t:=1 to n-1 do

for lm:=0 to m-1 do

for p:=0 to m-1 do begin

x_r[t+lm*n]:=x_r[t+lm*n]+B_r[t, p]*cos(2*pi*p*lm/m);

x_i[t+lm*n]:=x_i[t+lm*n]+B_i[t, p]*sin(2*pi*p*lm/m);

xr_r[t+lm*n]:=x_r[t+lm*n]/m;

xr_i[t+lm*n]:=x_i[t+lm*n]/m;

end;

writeln; writeln('Re x*', ' ', 'Im x*');

for j:=0 to nb-1 do

writeln(xr_r[j]:4:1, ' ', xr_i[j]:4:1);

readkey;

end.

44

Список литературы

В.Н.Малоземов, С.М.Машарский. Основы дискретного гармонического анализа. – СПб:, НИИММ, 2003 г.

А.Н. Колмогоров, С. В. Фомин. Элементы теории функции и функционального анализа. – М:, Наука, 1976 г.

А. Г. Курош. Курс высшей алгебры. – М:, Наука, 1971 г.

В. С. Шипачев. Высшая математика. – М:, Высшая школа, 2003 г.

Г. А. Магомедов, М. М. Сиражудинов, Р. К. Рагимханов. Теория функций комплексного анализа. – Махачкала:, ИПЦ ДГУ, 2003 г.