
- •Содержание
- •Лекция № 1. Теория погрешностей План
- •1.1. Источники и классификация погрешностей
- •1.2. Абсолютная и относительная погрешности. Формы записи данных
- •1.3. Вычислительная погрешность
- •2.1. Общие сведения и определения
- •2.2. Отделение корней
- •2.3. Метод половинного деления
- •2.4. Метод простой итерации
- •2.5. Преобразование уравнения к итерационному виду
- •2 0.777373 -3.32063 Search
- •Лекция № 3. Методы решения систем линейных алгебраических уравнений План
- •3.1. Общие сведения и основные определения
- •3.2. Метод Гаусса и его реализация в пакете matlab
- •3.3. Вычисление определителей
- •3.4. Решение систем линейных уравнений методом простой итерации
- •5. Метод Зейделя
- •3.6. Решение систем линейных уравнений средствами пакета matlab
- •Выражения
- •Лекция № 4. Методы решения систем нелинейных уравнений
- •4.2. Метод Ньютона решения систем нелинейных уравнений
- •Последовательные приближения корней
- •4.3. Решение нелинейных систем методами спуска
- •4.4. Решение систем нелинейных уравнений средствами пакета matlab
- •Iteration Func-count f(X) step optimality cg-iterations
- •Iteration Func-count f(X) step optimality cg-iterations
- •Лекция № 5. Интерполирование функций План
- •5.1. Постановка задачи
- •Решение задачи находится отысканием некоторой приближающей функции f(X), близкой в некотором смысле к функции f(X), для которой известно аналитическое выражение/
- •5.2. Интерполяционный полином Лагранжа
- •5.3. Интерполяционный полином Ньютона для равноотстоящих узлов
- •5.3.1. Конечные разности
- •5.3.2. Первая интерполяционная формула Ньютона
- •5.3.3. Вторая интерполяционная формула Ньютона
- •5.4. Погрешность интерполяции
- •5.5. Сплайн-интерполяция
- •5.6. Решение задачи одномерной интерполяции средствами пакете matlab
- •Лекция № 6. Численное дифференцирование
- •6.2. Особенности задачи численного дифференцирования функций, заданных таблично
- •6.3. Интегрирование функций, заданных аналитически (формула прямоугольников, формула трапеций, формула Симпсона)
- •6.4. Погрешность численного интегрирования
- •6.5. Вычисление интегралов методом Монте-Карло
- •Лекция № 7. Методы обработки экспериментальных данных План
- •7.1. Метод наименьших квадратов
- •Сумма квадратов отклонений
- •7.2. Нахождение приближающей функции в виде линейной функции и квадратичного трехчлена
- •7.5. Аппроксимация функцией произвольного вида
- •Лекция № 8. Преобразование Фурье
- •8.2. Эффект Гиббса
- •8.3. Спектральный анализ дискретных функций конечной длительности
- •8.4. Быстрое преобразование Фурье
- •Лекция № 9. Численные методы решения обыкновенных дифференциальных уравнений План
- •9.1. Основные сведения и определения
- •9.2. Метод Пикара
- •9.3. Метод Эйлера
- •9.4. Метод Рунге-Кутта
- •9.5. Средства пакета matlab для решения обыкновенных дифференциальных уравнений
8.2. Эффект Гиббса
Эффект Гиббса возникает при разложении в ряд Фурье разрывных функций. Изучим основные его проявления на примере разложения прямоугольной импульсной функции
,
которая
имеет скачек, равный 1 в точке разрыва
.
Формальное разложение в ряд Фурье в
виде находится подстановкой функции
в формулы (8.8), вычислением интегралов,
оказывающих равными
,
,
и подстановкой выражений для коэффициентов в (8.9):
Использование конечного числа членов ряда приводит к тому, что частичные суммы ряда, являются функциями, в которых присутствуют периодические составляющие. Их период равен периоду последнего удержанного члена или первого оставленного.
К. Ланцош предложил способ уменьшения эффекта пульсаций за счет сглаживания усеченного ряда
(8.17)
интегрированием (усреднения) по периоду последнего оставленного члена.
При
выборе в качестве интервала сглаживания
периода последнего члена усеченного
ряда Фурье сглаженное значение
получим как среднее от
:
.
(8.18)
(Отметим, что на практике N берется как номер первого отбрасываемого члена ряда.)
Подставляя (8.17) в (8.18), получим
Применяя известные тригонометрические формулы, окончательно получаем
,
(8.19)
где
– так называемые сигма-факторы:
.
(8.20)
Таким
образом, сглаженный ряд Фурье есть
исходный ряд Фурье с коэффициентами,
умноженными на соответствующие
сигма-факторы. Отметим, что эффект
сглаживания достигается за счет того,
что при
сигма-факторN-го
члена оказывается равным нулю.
С
физической точки зрения формулу (8.19)
можно трактовать как наблюдение исходной
функции
через узкое просвечивающее прямоугольное
окно шириной
.
Наблюдаемая функция
есть средняя интенсивность света от
исходной функции
.
Она оказывается более яркой, когда
функция
больше, и менее яркой, когда функция
меньше.
Не смотря на то, что полученное разложение позволяет познакомится с основными особенностями эффекта Гиббса, мы предварим дальнейшее рассмотрением этого вопроса описанием последовательности команд, позволяющей получить в пакете MATLAB, разложение в ряд Фурье произвольных функций.
Пример 8.1. Исследование эффекта Гиббса в пакете MATLAB
Для решения поставленной задачи необходимо создать следующие m-файлы: FF.m (содержит описание функции, разлагаемой в ряд Фурье), AF.m (описание функции, возвращающей значение заданного коэффициента разложения в ряд Фурье по косинусам в соответствие с (8.8а), (8.8б), BF.m (описание функции, возвращающей значение заданного коэффициента разложения в ряд Фурье по синусам в соответствие с (8.8в)). Далее приводятся листинги данных файлов.
% листинг файла FF.m
function z=FF(t,T)
% описание функции, раскладываемой в ряд Фурье
N=length(t);
for i=1:N
if t(i)<0
z(i)=0;
end;
if (t(i)>=0)&(t(i)<=T/2)
z(i)=1/2;
end;
if (t(i)>T/2)&(t(i)<=T)
z(i)=-1/2;
end;
if t(i)>T
z(i)=0;
end;
end;
% листинг файла AF.m
function z=AF(k,T)
% описание функции, возвращающей значение k-го коэффициента
dt=T/1000;
t=0:dt:T;
% вычисление значения подынтегральной функции
F=FF(t,T).*cos(2*pi*k/T*t);
z=2/T*trapz(t,F); % вычисление интеграла
% листинг файла BF.m
function z=BF(k,T)
% описание функции, возвращающей значение k-го коэффициента
dt=T/1000;
t=0:dt:T;
% вычисление значения подынтегральной функции
F=FF(t,T).*sin(2*pi*k/T*t);
z=2/T*trapz(t,F); % вычисление интеграла
Далее необходимо выполнить следующую последовательность команд:
clear all % очистка рабочей области
Nf=9; % число гармоник
k=1:Nf;
T=1; % длительность импульса
A0=AF(0,1); % вычисление А(0) в соответствие с (8.8а)
for k=1:Nf % вычисление коэффициентов A(k), B(k)
A(k)=AF(k,T);
B(k)=BF(k,T);
end;
% вычисление значений усеченного ряда Фурье на временном
% интервале [0,1]
Np=1000;
t=0:T/Np:1;
for i=1:Np+1
S=A0/2;
for k=1:Nf
S=S+A(k)*cos(2*pi*k/T*t(i))+B(k)*sin(2*pi*k/T*t(i));
end;
s(i)=S;
end;
% визуализация усеченного ряда Фурье и исходной функции)
plot(t,s,t,FF(t,T),'--')
Результаты выполнения описанной выше последовательности команд представлены на рис. 8.1.
Для
выявления причины обнаруженного эффекта
следует изменить в приведенной выше
последовательности команд число гармоник
ряда Фурье и пересчитать данную
последовательность команд заново.
Графики исходной функции и ее ряда Фурье
при использовании 18 гармоник ()
представлены на рис. 8.2. Анализ полученных
результатов позволяет сделать качественный
вывод о том, что увеличение числа членов
усеченного ряда Фурье приводит к
уменьшению отличия между функциями
и
.
Рис. 8.1
Рис. 8.2