Аппроксимация функций

Скачать реферат: Аппроксимация функций

Из курса математики известны 3 способа задания функциональных зависимостей:

  1. Аналитический.
  2. Графический.
  3. Табличный.

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

Рис. 1

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

Интерполяция (частный случай аппроксимации)

Если для табличной функции y=f(x), имеющей значение x0=f(x0), требуется построить аппроксимирующую функцию j(x), совпадающую в узлах с xi с заданной, то такой способ называется интерполяцией. При интерполяции, заданная функция f(x) очень часто аппроксимируется с помощью многочлена, имеющего общий вид

j (x)=p n (x)=a n x n +a n-1 x n-1 +…+a 0

В данном многочлене необходимо найти коэффициенты an, an-1, …a0, так как задачей является интерполирование, то определение коэффициентов необходимо выполнить из условия равенства: P n (x i)=y i, гдеi=0, 1, …n

Для определения коэффициентов применяют интерполяционные многочлены специального вида, к ним относится и полином Лагранжа Ln(x)

i1j

В точках отличных от узлов интерполяции полином Лагранжа в общем случае не совпадает с заданной функцией

Задание

С помощью интерполяционного полинома Лагранжа вычислить значение функции y в точке x c, узлы интерполяции расположены равномерно с шагом D х = 4, 1 начиная с точки х0 =1, 3 даны значения функции y = {-6.56, -3.77, -1.84, 0.1, 2.29, 4.31, 5.86, 8.82, 11.33, 11.27}

ГСА для данного метода

CLS

DIM Y(9)

DATA -6.56, -3.77, -1.84, 0.1, 2.29, 4.31, 5.86, 8.82, 11.33, 11.27

X0 = 1.3: H = 4.1: N = 10: XC = 10

FOR I = 0 TO N - 1

1 X(I) = X0 + H * I

READ Y(I)

PRINT Y(I); X(I)

NEXT I

S1 = 0: S2 = 0: S3 = 0: S4 = 0

FOR I = 0 TO N - 1

2 S1 = S1 + X(I) ^ 2

S2 = S2 + X(I)

S3 = S3 + X(I) * Y(I)

S4 = S4 + Y(I)

NEXT I

D = S1 * N - S2 ^ 2

D1 = S3 * N - S4 * S2

D0 = S1 * S4 - S3 * S2

A1 = D1 / D: A0 = D0 / D

YC = A1 * XC + A0

PRINT "A0="; A0, "A1="; A1, "YC="; YC

FOR X = 0 TO 50 STEP 10

Y = A1 * X + A0

PRINT X, Y

NEXT X

END

XC= 10

Х Y

1.3 -6.56

5.4 -3.77

9.5 -1.84

13.6 .1

17.7 2.29

21.8 4.31

25.9 5.86

30 8.82

34.1 11.33

38.2 11.27

S=-1.594203

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

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

Графическая интерпретация аппроксимации

Эта функциональная (аналитическая) зависимость должна с достаточной точностью соответствовать исходной табличной зависимости. Критерием точности или достаточно "хорошего" приближения могут служить несколько условий. Обозначим через fi значение, вычисленное из функциональной зависимости для x=xi и сопоставляемое с yi. Одно из условий согласования можно записать как

S = ∑(f i -y i ), min, → 0

т. е. сумма отклонений табличных и функциональных значений для одинаковых x=xi должна быть минимальной (метод средних). Отклонения могут иметь разные знаки, поэтому достаточная точность в ряде случаев не достигается

Использование критерия S = |fi -yi | min, → 0 также не приемлемо, т. к. абсолютное значение не имеет производной в точке минимума. Учитывая вышеизложенное, используют критерий наименьших квадратов, т.е. определяют такую функциональную зависимость, при которой S = (f i -y i) 2, (1) обращается в минимум.

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

f(x)=C0 + C1 X + C2 X2 +...+CM XM (2)

Формула (1) примет вид S = (C0 + C1 Xi + C2 Xi 2 +...+CM Xi M - Yi) 2

Условия минимума S можно записать, приравнивая нулю частные производные S по независимым переменным С0, С1, ...СМ :

S C0 = 2 (C0 + C1 Xi + C2 Xi 2 +...+ CM Xi M - Yi) = 0,

S C1 = 2 (C0 + C1 Xi + C2 Xi 2 +...+ CM Xi M - yi) Xi = 0, (3)

S CM = 2 (C0 + C1 Xi + C2 Xi 2 +...+ C M Xi M - Yi) Xi M = 0,

Тогда из (3) можно получить систему нормальных уравнений

C0 (N+1) + C1 Xi + C2 Xi 2 +...+ CM Xi M = Yi,

C0 Xi + C1 Xi 2 + C2 Xi 3 +...+ CM Xi M+1 = Yi Xi, (4)

C0 Xi M + C1 Xi M+1 + C2 Xi M+2 +...+ CM Xi 2M = Yi Xi M

Для определения коэффициентов Сi и, следовательно, искомой зависимости (2) необходимо вычислить суммы и решить систему уравнений (4). Матрица системы (4) называется матрицей Грама и является симметричной и положительно определенной. Эти полезные свойства используются при ее решении

(N+1)

X i

X i 2

...

X i M

Y i

X i

Xi2

X i 3

...

X i M+1

Y i X i

X i M

X i M+1

X i M+2

...

X i 2M

Y i X i M

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

Задание

Найти коэффициенты прямой и определить значение функции y{-6.56, -3.77, -1.84, 0.1, 2.29, 4.31, 5.56, 8.82, 11.33, 11.27}, x0=1.3 h=4.1 и определить интеграл заданной функции.

Рис. 3

Программа

CLS

XC = 10: X0 = 1.3: H = 4.1: N = 10

DIM Y(9): DIM X(9)

DATA -6.56, -3.77, -1.84, 0.1, 2.29, 4.31, 5.86, 8.82, 11.33, 11.27

FOR I = 0 TO N - 1

X = X0 + H * I:

X(I) = X

READ Y(I)

PRINT X(I), Y(I)

NEXT I

S1 = 0: S2 = 0: S3 = 0: S4 = 0

I = 0

10 S1 = S1 + X(I) ^ 2:

S2 = S2 + X(I):

S3 = S3 + X(I) * Y(I):

S4 = S4 + Y(I)

I = I + 1

IF I <= N - 1 THEN 10

D = S1 * N - S2 ^ 2:

D1 = S3 * N - S2 * S4:

D0 = S1 * S4 - S2 * S3

A1 = D1 / D:

A0 = D0 / D

Y = A1 * XC + A0

PRINT TAB(2); "Коэффициент прямой в точке A0="; A0,

PRINT TAB(2); "Коэффициент прямой в точке A1="; A1,

PRINT TAB(2); "Значение функции в точке XC Y="; Y

FOR X = 10 TO 50 STEP 10

Y = A1 * X + AO

PRINT X, Y

NEXT X

FOR I = 1 TO N - 1

S = S + Y(I): NEXT I

D = H / 2 * (Y(0) + Y(N - 1) + 2 * S)

PRINT "Значение интеграла по методу трапеции D="; D

Ответы

Х Y

1.3 -6.56

5.4 -3.77

9.5 -1.84

13.6 1

17.7 2.29

21.8 4.31

25.9 5.86

30 8.82

34.1 11.33

38.2 11.27

Коэффициент прямой в точке A0= -6.709182

Коэффициент прямой в точке A1= 5007687

Значение функции в точке XC Y= -1.701495

10 5.007687

20 10.01537

Значение интеграла по методу трапеции D= 166.9725