Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Аппроксимация функций. Метод наименьших квадратов
В инженерной деятельности часто возникает необходимость описать в виде функциональной зависимости связь между величинами, заданными таблично или в виде набора точек с координатами (xi, yi), i = 0, 1, 2,..., n, где n – общее количество точек. Как правило, эти табличные данные получены экспериментально и имеют погрешности (рис. 2.5)
Рис.4.2
При аппроксимации желательно получить относительно простую функциональную зависимость (например, многочлен), которая позволила бы " сгладить" экспериментальные погрешности, вычислять значения функции в точках, не содержащихся в исходной таблице. Эта функциональная зависимость должна с достаточной точностью соответствовать исходной табличной зависимости. В качестве критерия точности чаще всего используют критерий наименьших квадратов, т.е. определяют такую функциональную зависимость f(x), при которой
S = , (4.12)
обращается в минимум. Погрешность приближения оценивается величиной среднеквадратического уклонения D = . (4.13)
В качестве функциональной зависимости рассмотрим многочлен Pm(x)=a0 + a1x + a2x2+...+amxm. (4.14)
Формула (4.12) примет вид S = Условия минимума S можно записать, приравнивая нулю частные производные S по всем переменным a0, a1, a2, …, am. Получим систему уравнений
= – = 0, или = 0, k = 0, 1, …, m. (4.15)
Систему уравнений (4.15) перепишем в следующем виде: a0 + a1 + … +am = , k = 0, 1, …, m (4.16)
Введем обозначения: ck = , bk = .
Система (4.16) может быть записана так: a0ck + a1ck+1 + … + ck+mam = bk, k = 0, 1, …, m. (4.17)
Перепишем систему (4.17) в развернутом виде: c0a0 + c1a1 + c2a2… + cmam = b0 c1a0 + c2a1 + c3a2… + cm+1am = b1 (4.18) cma0 + cm+1a1 + cm+2a2… + c2mam = bm
Матричная запись системы (4.18) имеет следующий вид: Ca = b. (4.19)
Для определения коэффициентов ak, k = 0, 1, …, m, и, следовательно, искомого многочлена (4.14) необходимо вычислить суммы ck, bk и решить систему уравнений (4.18). Матрица C системы (4.19) называется матрицей Грама и является симметричной и положительно определенной. Эти полезные свойства используются при решении. Погрешность приближения в соответствии с формулой (4.13) составит D = . (4.20)
Рассмотрим частные случаи m =1 и m = 2. 1. Линейная аппроксимация (m = 1). P1(x) = a0 + a1x. c0 = = n + 1; c1 = = ; c2 = ; (4.21) b0 = = ; b1 = = . (4.22)
c0 c1 n+1 C = = , c1 c2 b = (b0, b1)T = ( , )T.
Решение системы уравнений Ca = b найдем по правилу Крамера: a0 = , a1 = ,
где ú Cú – определитель матрицы C, аú Ciú – определитель матрицы Ci, полученной из матрицы C заменой i-го столбца столбцом свободных членов b, i = 1, 2. Таким образом, a0 = , a1 = . (4.23) Алгоритм 4.1 (Алгоритм метода наименьших квадратов. Линейная аппроксимация). Шаг 1. Ввести исходные данные: xi, yi, i=0, 1, 2, ..., n. Шаг 2. Вычислить коэффициенты c0, c1, b0, b1 по формулам (4.21), (4.22). Шаг 3. Вычислить a0, a1 по формулам (4.23). Шаг 4. Вычислить величину погрешности D1 = . (4.24) Шаг 5. Вывести на экран результаты: аппроксимирующую линейную функцию P1(x) = a0 + a1x и величину погрешности D1. 2. Квадратичная аппроксимация (m = 2). P2(x) = a0 + a1x + a2x2. c0 = = n+1; c1 = = ; c2 = ; c3 = ; c4 = . (4.25) b0 = = ; b1 = = ; b2 = . (4.26) c0 c1 c2 C = c1 c2 c3. c2 c3 c4
b = (b0, b1, b2)T.
Решение системы уравнений Ca = b найдем по правилу Крамера: ai = , i = 0, 1, где ú Cú – определитель матрицы C, аú Ciú – определитель матрицы Ci, полученной из матрицы C заменой i-го столбца столбцом свободных членов b. ú Cú = c0c2c4 + 2c1c2c3 – c – с c4 – c c0. (4.27) b0 c1 c2 ú C1ú = b1 c2 c3 = b0c2c4 + b2c1c3 + b1c2c3 – b2c – b1c1c4 – b0c . (4.28) b2 c3 c4
c0 b0 c2 ú C2ú = c1 b1 c3 = b1c0c4 + b0c2c3 + b2c1c2 – b1c – b0c1c4 – b2c0c3. (4.29) c2 b2 c4
c0 c1 b0 ú C3ú = c1 c2 b1 = b2c0c2 + b1c1c2 + b0c1c3 – b0c – b2c – b1c0c3. (4.30) c2 c3 b2
a0 = , a1 = , a2 = . (4.31) Алгоритм 4.2 (Алгоритм метода наименьших квадратов. Квадратичная аппроксимация). Шаг 1. Ввести исходные данные: xi, yi, i=0, 1, 2, ..., n. Шаг 2. Вычислить коэффициенты c0, c1, c2, c3, c4, b0, b1, b2, по формулам (4.25), (4.26). Шаг 3. Вычислить ú Cú, ú C1ú, ú C2ú, ú C3ú по формулам (4.27) – (4.30). Шаг 4. Вычислить a0, a1, a2 по формулам (4.31). Шаг 5. Вычислить величину погрешности D2 = . (4.32) Шаг 5. Вывести на экран результаты: аппроксимирующую квадратичную функцию P2(x) = a0 + a1x + a2x2 и величину погрешности D2. Пример 4.6. Построим по методу наименьших квадратов многочлены первой и второй степени и оценим степень приближения. Значения yi в точках xi, i =0, 1, 2, 3, 4 приведены в таблице 2.3.
Таблица 4.1
Вычислим коэффициенты c0, c1, c2, c3, c4, b0, b1, b2, по формулам (4.25), (4.26): c0 = 5; c1 = 15; c2 = 55; c3 = 225; c4 = 979; b0 = 12; b1 = 53; b2 = 235.
1. Линейная аппроксимация (m =1). Система уравнений для определения коэффициентов a0 и a1 многочлена первой степени P2(x) = a0 + a1x + a2x2 имеет вид
5a0 + 15a1 = 12 15a0 + 55a1 = 53
По формулам (4.23) найдем коэффициенты a0 и a1: a0 = » –2.7, a1 = » 1.7. P1(x) = a0 + a1x = –2.7 + 1.7x. 2. Квадратичная аппроксимация (m =2). Система уравнений для определения коэффициентов a0, a1 и a2 многочлена второй степени P2(x) = a0 + a1x + a2x2 имеет вид
5a0 + 15a1 + 55a2 = 12 15a0 + 55a1 + 225a2 = 53 55a0 + 225a1 + 979a2 = 235
По формулам (4.31) найдем коэффициенты a0, a1 и a2: a0 » –2.20, a1 » 1.27, a2 » 0.07. P2(x) = a0 + a1x + a2x2 = –2.20 + 1.27x + 0.07x2.
Сравним значения, рассчитанные для функциональной зависимости, с исходными данными. Результаты приведены в табл.2.4.
Таблица 4.2
Погрешность приближения в соответствии с формулами (4.24) и (4.32) составит D1 = = 0.245. D2 = = 0.084. |
Последнее изменение этой страницы: 2019-10-03; Просмотров: 150; Нарушение авторского права страницы