Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книга-ЧМ-Часть1.docx
Скачиваний:
19
Добавлен:
01.07.2025
Размер:
3 Мб
Скачать
☆

5.1. Задачи аппроксимации

Большинство численных методов основаны на замене одной функции f(x) (известной или неизвестной) другой функцией (х), близкой к f(x). Как правило, функция (х) обладает «хорошими» свойствами и является «удобной» при аналитических и вычислительных операциях.

Такую замену называют аппроксимацией или попросту – приближением функции f(x) функцией (х).

Функцию (х) называют приближением или аппроксимирующей функцией.

Таким образом, задача о приближении (аппроксимации) функции f(x) функцией (х) состоит в построении функции (х) близкой (в некотором смысле) к функции f(x) на заданном отрезке [a,b], т.е.

f(x) (х). (5.1)

Для решения этой задачи необходимо ответить на ряд вопросов, а именно:

  1. Что известно о функции f(x). Задана она аналитически или таблицей своих значений, какова степень ее гладкости.

  2. Какую функцию (х) выбрать в качестве аппроксимирующей функции.

  3. Что понимать под близостью между функциями f(x) и (х), т.е. какова степень приближения (5.1).

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

5.2. Интерполирование функций

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

Простейшая задача интерполирования заключается в следующем [3, 6]. На отрезке [a, b] заданы n+1 точек x0, x1,…, xn , которые называются узлами интерполяции, и значения некоторой функции у=f(x) в этих узлах: y0=f(x0), y1=f(x1),…,yn=f(xn). Требуется построить функцию (х) (интерполирующую функцию), принимающую в узлах интерполяции те же значения, что и функция f(x), т.е.

(х0)=y0, (х1)=y1, ,(хn)=yn.. (5.2)

Г еометрически это означает, что нужно найти кривую у=(х), проходящую через заданную систему точек (узлов) (xi,yi), i=0,1,..,n (рис.5.1).

Рис.5.1. Геометрический смысл задачи интерполирования.

В такой общей постановке задача может иметь бесчисленное множество решений или совсем не иметь решений.

Однако задача становится однозначной, если в качестве интерполирующей функции взять многочлен Pn(х) степени не выше n, удовлетворяющий условиям:

Pn(x0)=y0 , Pn(x1)= y1 ,…, Pn(xn)=yn (5.3)

Интерполяционную формулу

f(x)Pn(х) (5.4)

обычно используют для приближенного вычисления значений данной функции у=f(x) в точках х[х0, хn], отличных от узлов интерполяции. Такая операция называется интерполированием функции. С другой стороны, имея интерполяционную зависимость (5.4) можно сделать прогноз о поведении функции у=f(x) вне отрезка [a,b], это уже называется экстраполяцией.

Таким образом, под интерполяцией понимается нахождение приближенных промежуточных значений таблично заданной функции строго внутри таблицы, тогда как экстраполяция – нахождение приближенных значений функции за пределами промежутка [x0, xn].

  • Понятие интерполирование и экстраполирование становятся очевидными, зная их латинское происхождение: inter – между, extra – вне, polire – делать гладкими.

5.2.2. Интерполяционная формула Лагранжа

Пусть на отрезке [a,b] функция у=f(x) задана таблично, т.е. (xi, yi), ( i=0,1,..,n), где yi=f(xi). Так заданную функцию называют «сеточной».

Постановка задачи: найти алгебраический многочлен (полином):

степени не выше n такой, чтобы

Ln(xi)=yi , при i=0,1,..,n, (5.6)

т.е. имеющий в заданных узлах xi, (i=0,1,..,n) те же значения, что и сеточная функция у=f(x).

Сам многочлен Ln(x) называется интерполяционным полиномом, а задача – полиномиальной интерполяцией.

Найти многочлен Ln(x) – это значит найти его коэффициенты a0, a1,…,an. Для этого имеется n+1 условие (5.6), которые записываются в виде системы линейных алгебраических уравнений относительно неизвестных ai, (i=0, 1,…,n):

где xi и yi (i=0,1,…,n) – табличные значения аргумента и функции.

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

отличен от нуля и, следовательно, система (5.7) имеет единственное решение.

Определив коэффициенты a0, a1,…,an , решая систему (5.7), получаем так называемый интерполяционный полином Лагранжа для функции f(x):

(5.8)

который можно записать в виде:

Доказывается [3, 6], что по заданным n+1 значениям функции можно построить единственный интерполяционный многочлен Лагранжа (5.8).

На практике широко используются интерполяционные многочлены Лагранжа первой (n=1) и второй (n=2) степени.

При n=1 информация об интерполируемой функции у=f(x) задается в двух точках: (x0, y0) и (x1, y1), и многочлен Лагранжа имеет вид

Для n=2 многочлен Лагранжа строится по трехточечной таблице

xi

x0

x1

x2

yi

y0

y1

y2

и имеет вид

Приближенные равенства

называются соответственно формулами линейной и квадратичной интерполяции.

  • Пример 5.1. Построить интерполяционный полином Лагранжа для функции, заданной таблицей:

xi

1

2

3

5

yi

1

5

14

81

Решение: Подставляем исходные данные в формулу (5.8). Степень полученного многочлена Лагранжа не выше третьей, так как функция задается четырьмя значениями:

Пользуясь интерполяционным полиномом Лагранжа, можно найти значение функции в любой промежуточной точке, например при х=4:

= 43

Интерполяционные полиномы Лагранжа используются в методе конечных элементов, широко применяемом при решении задач строительства.

Известны и другие формулы интерполяции, например, интерполяционная формула Ньютона [3, 6], применяемая при интерполяции в случае равноотстоящих узлов или интерполяционный полином Эрмита [3].

Сплайн-интерполяция. При использовании большого числа узлов интерполяции используют специальный прием – кусочно-полиномиальную интерполяцию, когда функция интерполируется полиномом степени т между любыми соседними узлами сетки.