
- •Часть 1
- •1.1. Определение погрешности
- •1.2. Источники погрешности
- •1.3. Способы оценки погрешности
- •2. Аппроксимация, интерполяция функций
- •2.1. Задачи аппроксимации и интерполяции
- •2.2. Интерполяционный многочлен Ньютона.
- •2.3. Интерполяционная формула Лагранжа
- •2.4. Погрешность и трудоемкость интерполяции
- •2.5. Нелинейная интерполяция
- •2.6. Эрмитова интерполяция
- •2.7. Интерполяция сплайнами
- •2.8. Аппроксимация функций методом наименьших квадратов
- •2.9. Двумерная интерполяция
- •3. Численное дифференцирование
- •3.1. Полиномиальные формулы
- •3.2. Конечноразностные формулы
- •3.3. Метод Рунге-Ромберга
- •3.4. Вычисление частных производных
- •4. Вычисление интегралов
- •4.1. Квадратурные формулы Ньютона-Котеса
- •4.2. Формула средних
- •4.3. Формула трапеций
- •4.4. Формула Симпсона
- •4.5. Формулы Гаусса и Маркова
- •4.6. О сходимости квадратурных формул
- •4.7. Нестандартные случаи интегрирования
- •4.8. Вычисление кратных интегралов
- •4.9.Метод ячеек
- •5. Решение систем линейных алгебраических уравнений
- •5.1. Постановка задачи
- •5.2. Корректность задачи
- •5.3. Методы решения слау
- •5.4. Метод Гаусса (схема единственного деления)
- •5.5. Метод прогонки
- •5.6. Метод lu-разложения
- •5.7. Метод квадратного корня
- •5.7. Итерационные методы решения слау
- •5.8. Обращение матриц
- •6. Алгебраическая проблема собственных значений
- •6.1. Постановка задачи
- •6.2. О методах решения характеристического уравнения
- •6.3. Преобразование подобия
- •6.4. Итерационный метод вращений (Якоби)
- •6.5. О выборе аннулируемых элементов
- •7. Методы решения нелинейных уравнений и систем
- •7.1. Постановка задачи
- •7.2. Метод половинного деления (дихотомия)
- •7.3. Метод простых итераций
- •7.4. Метод Ньютона (касательных)
- •7.5. Метод секущих
- •7.6. Метод парабол
- •7.4. Метод Ньютона решения системы нелинейных уравнений
- •Литература
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, то обычно ограничиваются интерполяционным многочленом первой степени
za+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)