Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие численные методы.DOC
Скачиваний:
0
Добавлен:
05.01.2020
Размер:
1.53 Mб
Скачать

2.9. Двумерная интерполяция

Пусть функция z=z(x, y) задана таблично на прямоугольной сетке:

(43)

Необходимо проинтерполировать функцию z(x, y) в прямоугольной области x0  x  xm; y0  y  ym.

Для двумерной интерполяции можно применить методы одномерной интерполяции. Если нам необходимо знать числовые значения z(x, y) при конкретных значениях аргументов x=x*, y=y*, то эффективен метод Ньютона. Сначала для каждого фиксированного значения y=yj ( ) производится одномерная интерполяция по переменной x, в результате которой вычисляются приближенные значения z(x*, yj). Теперь функция одной переменной z(x*, y) интерполируется по y также с использованием формул Ньютона, после чего найдено приближенное значение z(x*, y*).

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

(44)

где полиномы Xi(x) и Yj(y) аналогичны функциям (15):

(45)

Если функция задана на нерегулярной сетке z(xi, yi)=zi, то обычно ограничиваются интерполяционным многочленом первой степени

za+bx+cy, (46)

коэффициенты которого a, b и c определяются из условий

a+bxi+cyi=zi; i=1, 2, 3. (47)

При этом выбираются три близлежащих узла. Интерполяция (46) распространяется на треугольную область с вершинами в выбранных узлах.

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

3. Численное дифференцирование

3.1. Полиномиальные формулы

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

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

... (1)

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

Вычисление производных посредством сплайновой интерполяции дает хорошие результаты для тех производных, которые непрерывны для данного сплайна.

Если табулирована не только функция, но и ее производные, то для вычисления производных следует использовать интерполяционный многочлен Эрмита, что значительно точнее формул (1) при одинаковом числе узлов.

3.2. Конечноразностные формулы

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

(2)

Здесь h-шаг сетки.

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

Например, удерживая в третьем равенстве (2) три слагаемых и решая его относительно yi , получаем

(3)

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

Аналогичную формулу можно получить из второго равенства (2):

(4)

Здесь О(h) - величина первого порядка малости относительно h. Формула (3) называется правой, (4) - левой.

Центральная формула, использующая симметрично расположенные узлы, получается после вычитания второго равенства (2) из третьего и решения относительно yi :

(5)

Порядок точности ее повышен (второй), поскольку слагаемое с yi , дающее главный член погрешности первого порядка, оказался исключенным.

Сложив второе и третье равенства (2), можно получить формулу для второй производной второго порядка точности:

(6)

Привлекая все равенства (2) можно получить формулы для третьей и четвертой производных :

(7)

(8)

В краевых точках сетки ( i=0, n ) невозможно использовать центральные конечноразностные формулы. Правую формулу для первой производной второго порядка точности получают, используя два последних равенства (2) и исключая из них члены со второй производной:

(9)

Аналогично, привлекая дополнительно ряд Тейлора для ( i+3 )-го узла, получают формулу для второй производной:

(10)

Соответствующие левые формулы имеют вид

(11)

(12)