Аппроксимация функций. Метод наименьших квадратов

В инженерной деятельности часто возникает необходимость описать в виде функциональной зависимости связь между величинами, заданными таблично или в виде набора точек с координатами (xi, yi), i = 0, 1, 2 ,..., n, где n - общее количество точек. Как правило, эти табличные данные получены экспериментально и имеют погрешности (рис. 2.5)

Рис.4.2

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

Эта функциональная зависимость должна с достаточной точностью соответствовать исходной табличной зависимости. В качестве критерия точности чаще всего используют критерий наименьших квадратов, т.е. определяют такую функциональную зависимость f (x), при которой

S =, (4.12)

обращается в минимум.

Погрешность приближения оценивается величиной среднеквадратического уклонения

=. (4.13)

В качестве функциональной зависимости рассмотрим многочлен

Pm (x) =a 0 + a 1 x + a 2 x 2 +...+amxm. (4.14)

Формула (4.12) примет вид

S =

Условия минимума S можно записать, приравнивая нулю частные производные S по всем переменным a 0, a 1, a 2, …, am. Получим систему уравнений

= -= 0, или

= 0, k = 0, 1, …, m. (4.15)

Систему уравнений (4.15) перепишем в следующем виде:

a 0+ a 1+ … + am =, k = 0, 1, …, m (4.16)

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

ck =, bk =.

Система (4.16) может быть записана так:

a 0 ck + a 1 ck +1 + … + c k + m am = bk, k = 0, 1, …, m. (4.17)

Перепишем систему (4.17) в развернутом виде:

c 0 a 0 + c 1 a 1 + c 2 a 2… + cmam = b 0

c 1 a 0 + c 2 a 1 + c 3 a 2… + cm +1 am = b 1

(4.18)

cma 0 + cm +1 a 1 + cm +2 a 2… + c 2 mam = bm

Матричная запись системы (4.18) имеет следующий вид:

Ca = b. (4.19)

Для определения коэффициентов ak, k = 0, 1, …, m, и, следовательно, искомого многочлена (4.14) необходимо вычислить суммы ck, bk и решить систему уравнений (4.18). Матрица C системы (4.19) называется матрицей Грама и является симметричной и положительно определенной. Эти полезные свойства используются при решении.

Погрешность приближения в соответствии с формулой (4.13) составит

=. (4.20)

Рассмотрим частные случаи m =1 и m = 2.

1. Линейная аппроксимация (m = 1).

P 1(x) = a 0 + a 1 x.

c 0 = = n + 1; c 1 = =; c 2 =; (4.21)

b 0 = =; b 1 = =. (4.22)

c 0 c 1 n +1

C = =,

c 1 c 2

b = (b 0, b 1) T = (,) T.

Решение системы уравнений Ca = b найдем по правилу Крамера:

a 0 =, a 1 =,

где C - определитель матрицы C, а Ci - определитель матрицы Ci, полученной из матрицы C заменой i -го столбца столбцом свободных членов b, i = 1, 2.

Таким образом,

a 0 =, a 1 =. (4.23)

Алгоритм 4.1 (Алгоритм метода наименьших квадратов. Линейная аппроксимация).

Шаг 1. Ввести исходные данные: xi, yi, i= 0, 1, 2,..., n.

Шаг 2. Вычислить коэффициенты c 0, c 1, b 0, b 1 по формулам (4.21), (4.22).

Шаг 3. Вычислить a 0, a 1 по формулам (4.23).

Шаг 4. Вычислить величину погрешности

1 =. (4.24)

Шаг 5. Вывести на экран результаты: аппроксимирующую линейную функцию P 1(x) = a 0 + a 1 x и величину погрешности 1.

2. Квадратичная аппроксимация (m = 2).

P 2(x) = a 0 + a 1 x + a 2 x 2.

c 0 == n +1; c 1 ==; c 2 =; c 3 =; c 4 =. (4.25)

b 0 ==; b 1 ==; b 2 =. (4.26)

c 0 c 1 c 2

C = c 1 c 2 c 3.

c 2 c 3 c 4

b = (b 0, b 1, b 2) T.

Решение системы уравнений Ca = b найдем по правилу Крамера:

ai =, i = 0, 1,

где C - определитель матрицы C, а Ci - определитель матрицы Ci, полученной из матрицы C заменой i -го столбца столбцом свободных членов b.

C = c 0 c 2 c 4 + 2 c 1 c 2 c 3 - c - с c 4 - cc 0. (4.27)

b 0 c 1 c 2

C 1 = b 1 c 2 c 3 = b 0 c 2 c 4 + b 2 c 1 c 3 + b 1 c 2 c 3 - b 2 c - b 1 c 1 c 4 - b 0 c. (4.28)

b 2 c 3 c 4

c 0 b 0 c 2

C 2 = c 1 b 1 c 3 = b 1 c 0 c 4 + b 0 c 2 c 3 + b 2 c 1 c 2 - b 1 c - b 0 c 1 c 4 - b 2 c 0 c 3. (4.29)

c 2 b 2 c 4

c 0 c 1 b 0

C 3 = c 1 c 2 b 1 = b 2 c 0 c 2 + b 1 c 1 c 2 + b 0 c 1 c 3 - b 0 c - b 2 c - b 1 c 0 c 3. (4.30)

c 2 c 3 b 2

a 0 =, a 1 =, a 2 =. (4.31)

Алгоритм 4.2 (Алгоритм метода наименьших квадратов. Квадратичная аппроксимация).

Шаг 1. Ввести исходные данные: xi, yi, i= 0, 1, 2,..., n.

Шаг 2. Вычислить коэффициенты c 0, c 1, c 2, c 3, c 4, b 0, b 1, b 2, по формулам (4.25), (4.26).

Шаг 3. Вычислить C, C 1, C 2, C 3 по формулам (4.27) - (4.30).

Шаг 4. Вычислить a 0, a 1, a 2 по формулам (4.31).

Шаг 5. Вычислить величину погрешности

2 =. (4.32)

Шаг 5. Вывести на экран результаты: аппроксимирующую квадратичную функцию P 2(x) = a 0 + a 1 x + a 2 x 2 и величину погрешности 2.

Пример 4.6.

Построим по методу наименьших квадратов многочлены первой и второй степени и оценим степень приближения. Значения yi в точках xi, i =0, 1, 2, 3, 4 приведены в таблице 2.3.

Таблица 4.1

 
i            
xi            
yi -1          
             

Вычислим коэффициенты c 0, c 1, c 2, c 3, c 4, b 0, b 1, b 2, по формулам (4.25), (4.26):

c 0 = 5; c 1 = 15; c 2 = 55; c 3 = 225; c 4 = 979;

b 0 = 12; b 1 = 53; b 2 = 235.

1. Линейная аппроксимация (m =1).

Система уравнений для определения коэффициентов a 0 и a 1 многочлена первой степени P 2(x) = a 0 + a 1 x + a 2 x 2 имеет вид

5 a 0 + 15 a 1 = 12

15 a 0 + 55 a 1 = 53

По формулам (4.23) найдем коэффициенты a 0 и a 1:

a 0 = -2.7, a 1 = 1.7.

P 1(x) = a 0 + a 1 x = -2.7 + 1.7 x.

2. Квадратичная аппроксимация (m =2).

Система уравнений для определения коэффициентов a 0, a 1 и a 2 многочлена второй степени P 2(x) = a 0 + a 1 x + a 2 x 2 имеет вид

5 a 0 + 15 a 1 + 55 a 2 = 12

15 a 0 + 55 a 1 + 225 a 2 = 53

55 a 0 + 225 a 1 + 979 a 2 = 235

По формулам (4.31) найдем коэффициенты a 0, a 1 и a 2:

a 0 -2.20, a 1 1.27, a 2 0.07.

P 2(x) = a 0 + a 1 x + a 2 x 2 = -2.20 + 1.27 x + 0.07 x 2.

Сравним значения, рассчитанные для функциональной зависимости, с исходными данными. Результаты приведены в табл.2.4.

Таблица 4.2

 
i            
xi            
yi -1          
P 1(xi) -1 0.7 2.4 4.1 5.8  
P 2(xi) -1 0.62 2.24   6.9  
             

Погрешность приближения в соответствии с формулами (4.24) и (4.32) составит

1 = = 0.245.

2 = = 0.084.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: