
- •Операции со степенными полиномами
- •Аппроксимация табличных функций Общие понятия об аппроксимации и интерполяции
- •Аппроксимация табличных функций
- •Интерполирование табличных функций с помощью степенных полиномов
- •Численное интегрирование
- •Тригонометрическая интерполяция периодических функций. Гармонический анализ и синтез периодических функций
- •Нелинейный парный регрессионный анализ
- •Численное решение обыкновенных дифференциальных уравнений Общие понятия
- •Обзор численных методов решения ду
- •Методы Рунге-Кутта
- •Алгоритмы решения систем ду
- •Непосредственное численное решение систем ду с помощью стандартных функций программного пакета Matlab
- •Численное решение систем ду с помощью приложения Simulink
Тригонометрическая интерполяция периодических функций. Гармонический анализ и синтез периодических функций
Периодические функции лучше всего интерполировать линейной комбинацией синусоид и косинусоид. В основу тригонометрической интерполяции положено разложение периодических функций в ряд Фурье.
Любую периодическую функцию с периодом Т, заданную на интервале [0; T] уравнением
y = f(t)
можно представить в виде суммы гармонических составляющих (гармоник):
, (1)
где
– угловая частота первой гармоники;
,
– амплитуды гармоник, определяемые по
формулам:
;
; (2)
.
Ограничиваясь в уравнении (1) m первыми гармониками, получаем аппроксимирующую функцию:
. (3)
Процесс определения коэффициентов , полинома (3) называется гармоническим анализом.
На
практике очень часто приходится
исследовать гармонический состав
сигналов, графики которых получены
экспериментально. В этом случае исходная
функция задается в виде таблицы. Формулы
(2) для определения коэффициентов
,
можно упростить, если узлы таблицы
расположены равномерно. В этом случае
шаг
,
где n – количество интервалов разбиения.
Аргументами таблицы теперь будут являться точки
;
.
Для вычисления коэффициентов , по (2) можно воспользоваться любой из известных формул численного интегрирования. Например, согласно методов прямоугольников и трапеций
;
.
Для периодических функций при целом k характерно:
.
Отсюда
следует, что если периодическая функция
(1) не имеет разрыва при
,
то вычисление интегралов по методам
прямоугольников и трапеций на интервале
[0;
T]
дает совершенно одинаковый результат:
.
Используя для вычислений (2) метод прямоугольников, получим, что в каждой формуле будет присутствовать множитель
,
а выражения, соответствующие аргументам тригонометрических функций
.
Таким образом, формулы (2) примут вид:
;
; (4)
.
В
(4)
– номер табличной точки (
);
– количество интервалов разбиения;
– номер гармоники (
);
– количество учитываемых гармоник.
В
математике доказано, что функция
с коэффициентами (4) аппроксимирует
исходную периодическую функцию (1) по
методу наименьших квадратов. При
эта
функция становится интерполирующей.
При
точность аппроксимации вне узлов
увеличивается.
Схема алгоритма гармонического анализа табличной периодической функции может выглядеть следующим образом:
Теперь, зная коэффициенты аппроксимирующего тригонометрического полинома, можно вычислить значение функции в произвольной точке интервала [0; T], т.е., выполнить гармонический синтез.
Схема алгоритма гармонического синтеза представлена может иметь вид:
Используя приведенные функции гармонического анализа и гармонического синтеза, можно определить значения функции в произвольной совокупности точек периода.
Соответствующее содержание script-файла может иметь вид:
function y=garmon(u)
clc; close all; T=2*pi;
t=0:pi/20:T-pi/20; y=1-t.^2+sqrt(2*t); % Задание точек функции
n=length(y); m=3;
A=garmanalyz(m,n,y);
a0=A(1); a=A(2:m+1); b=A(m+2:end)
t1=0:pi/100:2*T;
for i=1:length(t1)
q(i)=garmsynthez(m,a0,a,b,t1(i),T);
end
figure, plot(t,y,t1,q), grid on
function A=garmanalyz(m,n,y)
a0=sum(y)*2/n;
for k=1:m
a(k)=0; b(k)=0;
for i=0:n-1
a(k)=a(k)+y(i+1)*cos(2*pi*k*i/n);
b(k)=b(k)+y(i+1)*sin(2*pi*k*i/n);
end
a(k)=a(k)*2/n; b(k)=b(k)*2/n;
end
A=[a0 a b];
function q=garmsynthez(m,a0,a,b,t,T)
w=2*pi/T; q=a0/2;
for k=1:m
q=q+a(k)*cos(k*w*t)+b(k)*sin(k*w*t);
end