- •Содержание
- •Лекция № 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 для решения обыкновенных дифференциальных уравнений
7.5. Аппроксимация функцией произвольного вида
Для решения задачи обобщенной нелинейной регрессии в пакете MATLAB имеется функция lsqnonlin( ), возвращающая решение задачи нахождения точки минимума функции f(x)
,
где в общем случае f(x) вектор-функция, x вектор-столбец искомых переменных, L некоторая константа.
Синтаксис функции lsqnonlin( ):
x = lsqnonlin(fun,x0)
x = lsqnonlin(fun,x0,lb,ub)
x = lsqnonlin(fun,x0,lb,ub,options)
x = lsqnonlin(fun,x0,eb,ub,options,P1,P2, ... )
[x,resnorm] = lsqnonlin(...)
[x,resnorm,residual] = lsqnonlin(...)
[x,resnorm,residual,exitflag] = lsqnonlin(...)
[x,resnorm,residual,exitflag,output] = lsqnonlin(...)
[x,resnorm,residual,exitflag,output,lambda] = lsqnonlin(...)
[x,resnorm,residual,exitflag,output,lambda,jacobian] =
lsqnonlin(...)
аналогичен синтаксису функции fsolve( ), подробно обсуждавшемся нами в лекции № 4. Поэтому далее мы ограничимся только примером, демонстрирующим использование данной функции для нахождения параметров функции .
Для решения данной задачи в пакете MATLAB необходимо выполнить следующую последовательность действий:
1. Создать файл F77.m, содержащий описание функции, возвращающей значения вектор-функции f(x)
% листинг файла F77.m
function z=F77(Coeff,vx,vy)
k=1:length(vx);
z=vy-exp(Coeff(1)+Coeff(2)*vx+Coeff(3)*vx.^2);
2. Выполнить следующую последовательность команд
% задание исходных данных
>> vx=[0.3;0.4;1;1.4;2;4]
vx =
0.3000
0.4000
1.0000
1.4000
2.0000
4.0000
>> vy=[9.4;11.2;5;3;6;0.2]
vy =
9.4000
11.2000
5.0000
3.0000
6.0000
0.2000
>> z=[1 0 -1] % начальное приближения
z =
1 0 -1
% вычисление коэффициентов аппроксимирующей функции
>> Coeff = lsqnonlin('F77',z',[],[],[],vx,vy)
Optimization terminated successfully:
Relative function value changing by less than OPTIONS.TolFun
Coeff =
2.5696
-0.8037
0.0462
>> F=inline('exp(a+b*x+c*x.^2)','x','a','b','c'); % задание
% аппроксимирующей функции
>> X=vx(1):0.01:vx(length(vx)); % координаты абсцисс, в которых
% будут вычисляться значения
% аппроксимирующей функции
>> Y=feval(F,X,Coeff(1),Coeff(2),Coeff(3)); % вычисление значений
% аппроксимирующей функции
>> i=1:length(vx);
>> j=1:length(X);
>> plot(vx(i),vy(i),'o',X(j),Y(j)) % (рис. 7.4)
Рис. 7.4
Лекция № 8. Преобразование Фурье
План
8.1. Разложение периодических функций в ряд Фурье
8.2. Эффект Гиббса
8.3. Спектральный анализ дискретных функций конечной длительности
8.4. Быстрое преобразование Фурье
8.1. Разложение периодических функций в ряд Фурье
По определению периодической функцией называют функцию, отвечающую условию:
, (8.1)
где T – период функции,
Для нахождения спектрального разложения функции s(t) введем в рассмотрение следующие наборы функций:
(8.2)
Любая из функций (8.2), которую для краткости обозначим , удовлетворяет условию периодичности (8.1).
Рассмотрим три следующие интеграла:
,
, (8.3)
.
Функции, удовлетворяющие условию (8.3), называются ортогональными, а систему функций (8.2) называют ортонормированным базисом, образованным гармоническими функциями с кратными частотами. Условие ортогональности можно записать в компактной форме, используя символ Кронекера:
, (8.4)
где
.
Разложим произвольную периодическую функцию в ряд
. (8.5)
Представление (8.5) называется обобщенным рядом Фурье функции в выбранном базисе.
Коэффициенты данного ряда находятся умножением (8.5) на базисную функцию и интегрированием по периоду функции:
. (8.6)
Откуда, используя свойство ортонормированности (8.4), найдем
. (8.7)
Подставляя в (8.7) набор функций (8.2), найдем значения коэффициентов ряда:
, (8.8а)
, (8.8b)
. (8.8c)
Введя основную частоту последовательности, образующей периодическую функцию, запишем ряд Фурье для периодического сигнала
. (8.9)
Анализ (8.9) показывает, что функция содержит независящую от времени постоянную составляющую и бесконечный набор гармонических колебаний, так называемых, гармоник с частотами(), кратными основной частоте последовательности. Можно показать, что имеет место равенство
(8.10)
Если записать коэффициенты ряда Фурье в виде
,
где
,
то получим эквивалентную форму ряда Фурье:
. (8.11)
Спектральное разложение периодической функции можно выполнить используя систему базисных функций в виде экспонент с мнимыми показателями:
, (8.12)
которые, как легко убедиться, вычислив интеграл
,
являются ортогональными.
Ряд Фурье в данном случае принимает вид
(8.13)
с коэффициентами
. (8.14)
На практике принято использовать и другую форму записи ряда Фурье:
, (8.15)
где
. (8.16)
Выражения (8.13) – (8.16) представляют собой ряд Фурье в комплексной форме. Спектр функции в соответствие с формулами (8.15), (8.16) содержит компоненты на отрицательной полуоси частот, причем, поэтому слагаемые с положительными и отрицательными частотами объединяются в пары, например:
.
Таким образом, отрицательная частота является не физическим, а математическим понятием, вытекающим из способа представления комплексных чисел.
Отметим, что в технической литературе, посвященной анализу сигналов, задачу вычисления коэффициентов разложения функции в ряд Фурье называют задачей анализа, а задачу восстановления функции по известным коэффициентам ряда Фурье задачей синтеза.