ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 10.04.2024

Просмотров: 94

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

и за значение f(x) принимают N1(x) (линейная интерполяция) или N2 (x) (квад-

ратичная интерполяция). Схема расчета для линейной и квадратичной интерполяций приведена на рис. 8.3.

Рис. 8.3

Интерполяционный многочлен Лагранжа (PL)

n

n

xT

xi

 

 

Ln 1(xT ) yk ek (xT );

ek (xT )

.

(8.8)

(x

 

k 1

i 1

x

 

k

i)

 

 

i k

 

 

 

 

Многочлены ekn 1(x j ) выбраны так, что во всех узлах, кроме k-го, они обращаются в нуль, в k-м узле они равны единице:

en 1(x ) 1,при j k; k j 0,при j k.

Поэтому из выражения (8.8) видно, что Ln 1(xi ) yi .

Схема расчета интерполяционного многочлена Лагранжа представлена на рис. 8.4.

61


Рис. 8.4

Интерполяция общего вида, использующая прямое решение системы (8.2) методом Гаусса (POG)

Следует отметить, что ввиду громоздкости многочлены Ньютона и Лагранжа уступают по эффективности расчета многочлену общего вида (8.3), если

предварительно найдены коэффициенты n .

Поэтому, когда требуется производить много вычислений многочлена, построенного по одной таблице, оказывается выгодно вначале один раз найти

коэффициенты n и затем использовать формулу (8.3). Коэффициенты n находят прямым решением системы (8.2) c матрицей (8.4), затем вычисляют его

значения по экономно программируемой формуле (алгоритм Горнера)

 

Pn 1

x c1 xT (c2 ...

xT (cn 2 xT (cn 1 xT cn ) ...).

(8.9)

62

 

 

 

а

б

Рис. 8.5

Схема расчета интерполяционного многочлена общего вида по формуле (8.9) с прямым решением системы (8.2) приведена на рис. 8.5.

Интерполяция общего вида, использующая расчет коэффициентов многочлена (8.3) через многочлен Лагранжа (POL)

Находить коэффициенты n многочлена (8.3) можно, не решая прямо систему (8.2), а используя разложение коэффициентов Лагранжа (8.8):

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

ekn 1(x) akn,11

akn,21 x ...

akn,n1 xn 1,

ci yk akn,i1 .

(8.10)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k 1

 

 

Рекуррентные формулы для нахождения коэффициентов an 1

:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k , j

 

 

m

m 1

xm

 

 

 

m

m 1

 

1

 

 

 

(8.11)

ak ,1

ak ,1

 

 

;

ak ,m 1 ak ,m

 

 

;

 

 

x x

 

x

x

 

 

 

 

k

m

 

 

 

 

 

k

m

 

 

 

 

 

 

 

am 1

am 1

x

 

 

 

 

 

 

 

 

am

 

 

k , j 1

k , j

m

;

 

1 j m;

m 2, ..., n 1

 

 

 

 

 

 

 

 

 

 

 

 

k , j

 

 

 

xk xm

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

63


получаются из вида многочленов ekn 1(x), если использовать очевидное представление

em (x) em 1

 

x xn m

;

e0

a0

1;

m 1, 2, ..., n;

m k.

 

k

k

 

xk xn m

 

k

k ,1

 

 

 

 

 

 

 

 

 

 

 

 

Схема алгоритма вычисления коэффициентов многочлена общего вида по формулам (8.10), (8.11) представлена на рис. 8.6.

Рис. 8.6

8.4. Понятие среднеквадратичной аппроксимации

Суть среднеквадратичной аппроксимации заключается в том, что параметры n функции x,c подбираются такими, чтобы обеспечить минимум

64

квадрата расстояния между функциями f(x) и x,c в пространстве

L2 a, b ,

т. е. из условия

 

 

 

min

 

 

f (x) x,c

 

L .

(8.12)

 

 

 

 

 

 

 

c1 ,..., cn

2

 

 

 

 

 

В случае линейной аппроксимации (8.1) задача (8.12) сводится к реше-

нию СЛАУ для нахождения необходимых коэффициентов n :

 

 

n

 

 

 

 

 

 

 

 

 

( i k )L

ck ( f , i )L ; i 1, ..., n.

(8.13)

 

k 1

2

2

 

 

 

 

 

 

 

 

 

 

 

Здесь i k L ,

f , i L

– скалярные произведения в L2.

 

2

2

 

 

 

 

 

 

Матрица системы (8.13) симметричная, и ее следует решать методом

квадратного корня. Особенно просто эта задача решается, если выбрана орто-

гональная система функций k x

, т. е. такая, что

 

 

0,

 

 

 

 

 

 

i k

 

 

 

 

 

 

 

 

 

 

i k

 

 

 

 

 

k

 

 

 

 

2

, i k.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Тогда матрица СЛАУ (8.13) диагональная и параметры c находятся по

формуле

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c

 

f , k

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

k

 

 

 

 

k

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вэтом случае представление (8.1) называется обобщенным рядом Фурье,

аck называются коэффициентами Фурье.

Метод наименьших квадратов (МНК)

МНК является частным случаем среднеквадратичной аппроксимации. При использовании МНК в области значений x, представляющей некоторый интервал [a, b], где функции f и должны быть близки, выбирают систему различных точек (узлов) x1, ..., xm, число которых обычно больше, чем количество искомых параметров c1, ..., сn , m n. Далее, потребовав,

чтобы сумма квадратов невязок во всех узлах была минимальна

(рис. 8.7):

m

min [ yi (xi

c i 1

Рис. 8.7

 

m

 

c)]2 min i2

min (c),

c

i 1

c

 

 

находим из этого условия параметры c1, ..., сn .

65


В общем случае эта задача сложная и требует применения численных методов оптимизации. Однако в случае линейной аппроксимации (8.1), составляя условия минимума суммы квадратов невязок во всех точках c (в точке ми-

нимума все частные производные должны быть равны нулю):

(с1, с2 , ..., сn ) 0, i 1, ..., n

сi

получаем систему n линейных уравнений относительно n неизвестных следующего вида:

(8.14)

c1, ..., сn

n

 

 

 

( i k )ck ( y, i ),

i 1, n или

Gñ b .

(8.15)

k 1

 

 

 

Здесь i i (x1), i (x2 ), ... , i (xm ) , y y1, ... ,

ym – векторы-таблицы

функций. Элементы матрицы G ми

 

m

gi,k ( i

k ) i (x j ) k

j 1

m

bi ( y, i ) y j i (x j ).

j 1

и вектора b в (8.15) определяются выражения-

(x j );

скалярные произведения векторов.

Система (8.15) имеет симметричную матрицу G и решается методом квадратного корня.

При аппроксимации по МНК обычно применяют такие функции i (x) ,

которые используют особенности решаемой задачи и удобны для последующей обработки.

Схема расчета коэффициентов многочлена вида (8.3) по методу наименьших квадратов представлена на рис. 8.8.

66


Рис. 8.8

Приведем пример аппроксимации по МНК. Предположим, что известна таблица значений f(x): {x1 = 1, y1 = 0.5, x2 = 2, y2 = 1.2, x3 = 3, y3 = 0.8}, т. е. m = 3.

Требуется найти параметры аппроксимирующей функции x, c1, c2 вида

c1 c2 x ( n = 2).

67

3Рис. 8.9

Составляем сумму квадратов невязок:

3

(n) ( yi n1 n2 xi )2

i0

(0.5 n1 n2 1)2 (1.2 n1 n2 2)2 (0.8 n1 n2 3)2.

Условия минимума (8.14):

 

 

 

2

0.5

ñ1

1 ñ2 2 1.2 ñ1 2 ñ2 2 0.8 ñ1

3 ñ2 0;

 

ñ

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

0.5

ñ1

1 ñ2 4 1.2 ñ1 2 ñ2 6 0.8 ñ1

3 ñ2 0.

 

 

ñ

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

Приводя подобные члены, получим окончательно систему двух уравнений с симметричной матрицей относительно неизвестных c1 и c2:

3ñ1 6ñ2 2.5;6ñ1 14ñ2 5.3.

Решая ее, находим ñ1 0.53,

ñ2 0.15.

На рис. 8.9 приведена таблица функции f(x) и полученная по МНК функция (x).

Порядок расчета по МНК следующий. Вначале по исходной таб-

лице формируется матрица G и рассчитываются коэффициенты (см. рис. 8.8) (в качестве k(x) здесь берется функция xk-1). Затем, используя полученные коэффициенты, рассчитывается значение функции в искомой точке (см. рис. 8.5, б).

8.5. Индивидуальные задания

Во всех вариантах (табл. 8.1.) требуется аппроксимировать заданную исходную функцию f(x) многочленом на интервале [a, b]. Задано количество неизвестных параметров n, вид аппроксимации и m – количество точек, в которых

задана функция. Таблица исходной функции

yi=f(xi) вычисляется

в точках

xi a (i 1)(b a) /(m 1), i 1, m. Используя полученную

таблицу

(xi , yi ),

требуется вычислить

значения

функций

f (x j ), (x j ,c)

и погрешность

d (x j ) f (x j ) (x j ,c)

в точках

x j a ( j 1)(b a) / 20;

j 1, 21, построить

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

68