Некоторые дополнительные вычислительные методы
много решений. Задача интерполирования возникает, например, в том случае,
когда известны результаты измерений yk = f(xk) некоторой физической
величины f(x) в точках xk, k = 0, 1,…, n и требуется определить ее
значение в других точках. Интерполирование используется также при
необходимости сгущения таблиц, когда вычисление значений f(x) по точным
формулам трудоемко. Иногда возникает необходимость приближенной замены
(аппроксимации) данной функции (обычно заданной таблицей) другими
функциями, которые легче вычислить. При обработке эмпирических
(экспериментальных) зависимостей, результаты обычно представлены в
табличном или графическом виде. Задача заключается в аналитическом
представлении искомой функциональной зависимости, то есть в подборе
формулы, корректно описывающей экспериментальные данные.
Интерполирование с помощью многочленов
Пусть функциональная зависимость задана таблицей y0 = f(x0); …, y1= f(x1);
…, yn = f(xn). Обычно задача интерполирования формулируется так: найти
многочлен P(x) = Pn(x) степени не выше n, значения которого в точках xi
(i = 0, 1 2,…, n) совпадают со значениями данной функции, то есть
P(xi) = yi. Геометрически это означает, что нужно найти алгебраическую
кривую вида [pic] проходящую через заданную систему точек Мi(xi, yi) (см.
рис. 4). Многочлен Р(х) называется интерполяционным многочленом. Точки xi
(i = 0, 1, 2,…, n) называются узлами интерполяции.
Для любой непрерывной функции f(x) сформулированная задача имеет
единственное решение. Действительно, для отыскания коэффициентов а0, а1, а2
,…, аn получаем систему линейных уравнений [pic] определитель которой
отличен от нуля, если среди точек xi (i = 0, 1, 2,…, n) нет совпадающих.
Решение системы можно записать различным образом. Однако наиболее
употребительна запись интерполяционного многочлена в форме Лагранжа или в
форме Ньютона.
Интерполяционный многочлен Лагранжа
Пусть на отрезке [a,b] некоторая функция f(x) задана лишь в некоторых
точках [pic], т.е. известны ее значения [pic], которые, собирают в таблицу:
|x |x0 |x1 |...|xn |
|f(x|y0 |y1 |...|yn |
|) | | | | |
Кроме того, пусть задана некоторая точка [pic]. Построим по таблице
следующий многочлен: [pic].
Этот многочлен называется многочленом Лагранжа.
Его основные свойства:
1) это - многочлен степени [pic];
2) [pic], т.е. многочлен Лагранжа имеет в точках [pic] те же
значения, что и функция [pic];
3) если фиксировать любое число [pic] то окажется выполненным
неравенство [pic]
где [pic] на участке [pic], т.е. число [pic] ограничивает производную
[pic]го порядка функции [pic].
Сказанное означает, что если функция [pic] задана своей таблицей и
требуется найти значение [pic] где-то в промежуточной точке c, то можно по
таблице построить многочлен Лагранжа и его значение в этой точке принять за
значение функции. Отыскание промежуточного значения функции называется
интерполяцией; когда это делается с помощью многочлена Лагранжа, то говорят
об интерполяционном многочлене Лагранжа или об интерполяции по Лагранжу.
Пример. Построить интерполяционный многочлен Лагранжа для функции заданной
таблицей
|x |1 |2 |3 |5 |
|y |1 |5 |14 |81 |
И найти значение функции при x=4.
Решение. Используя формулу Лагранжа найдем: [pic]
После некоторых преобразований получим [pic] Тогда f(4)?L3(4)=36,5.
Интерполяционные многочлены Стирлинга и Бесселя
Взяв среднее арифметическое первой и второй интерполяционных формул Гаусса
[pic] [pic]
[pic] и [pic] [pic]
[pic], получим формулу Стирлинга [pic]
где [pic].
Легко видеть, что [pic] при [pic].
Кроме формулы Стирлинга, часто употребляется формула Бесселя. Для вывода
этой формулы воспользуемся второй интерполяционной формулой Гаусса [pic]
[pic]
[pic].
Возьмем [pic] равностоящих узлов интерполирования [pic] с шагом [pic], и
пусть [pic] — заданные значения функции [pic].
Если выбрать за начальные значения [pic] и [pic], то, используя узлы [pic],
будем иметь:
[pic][pic].
Примем теперь за начальные значения [pic] и [pic] и используем узлы [pic].
Тогда [pic], причем соответственно индексы всех разностей в правой части
предыдущей формулы возрастут на единицу. Заменив в правой части этой
формулы [pic] на [pic] и увеличив индексы всех разностей на 1, получим
вспомогательную интерполяционную формулу:
[pic][pic].
Взяв среднее арифметическое формул, после несложных преобразований получим
интерполяционную формулу Бесселя
[pic]
[pic]
где [pic].
Интерполяционная формула Бесселя, как следует из способа получения ее,
представляет собой полином, совпадающий с данной функцией [pic] в [pic]
точках [pic].
Тригонометрическое интерполирование
Пусть функция f(х) представлена на некотором отрезке [0, 2?] таблицей
значений f(хi) в
равноотстоящих узлах хi =2?(i-1)/(2N+1), i =1, 2, ..., 2N+1. Тогда
тригонометрическим интерполирующим многочленом назовем многочлен степени m
вида:
[pic].
Задача тригонометрической интерполяции состоит в построении
тригонометрического полинома, который бы наиболее полно удовлетворял
условиям Рm (хi)= f(хi ) для любого i=1, 2, ..., 2 N+1.
Можно показать, что решением этой задачи является полином именно того вида,
коэффициенты которого вычисляют по следующим формулам:
[pic];
[pic];
[pic].
Интерполяция сплайнами
Пусть отрезок [a, b] разбит на n равных частей [xi, xi+1], где xi=a+ih,
i=0, ..., n, xn=b,
h=(b-a)/n.
Сплайном называется функция, которая вместе с несколькими производными
непрерывна на всем заданном отрезке [a, b], а на каждом частичном отрезке
[xi, xi+1] в отдельности является некоторым алгебраическим многочленом.
Максимальная по всем частичным отрезкам степень многочленов называется
степенью сплайна, а разность между степенью сплайна и порядком наивысшей
непрерывной на [a,b] производной - дефектом сплайна.
На практике широкое распространение получили сплайны третьей степени,
имеющие на [a, b] непрерывную, по крайней мере, первую производную. Эти
сплайны называются кубическими и обозначаются S3(x).
Пусть на отрезке [a, b] в узлах сетки ( заданы значения некоторой функции
fi =f(xi), i=0, ..., n.
Интерполяционным кубическим сплайном S3(x) называется сплайн
S3(x)=аi0 +аi1(x - xi)+аi2(x - xi)2 +аi3(x - xi)3, x([xi, xi+1],
удовлетворяющий условиям
S3(xi)=f(xi), i=0, ..., n.
Данный сплайн на каждом из отрезков [xi, xi+1], i=0, ..., n-1 определяется
четырьмя коэффициентами, и поэтому для его построения на всем промежутке
[a, b] необходимо определить 4n коэффициентов. Для их однозначного
определения необходимо задать 4n уравнений.
Условие S3(xi)=f(xi), i=0, ..., n дает 2n уравнений, при этом функция
S3(xi), удовлетворяющая этим условиям, будет непрерывна во всех внутренних
узлах.
Условие непрерывности производных сплайна [pic], r=1,2 во всех внутренних
узлах xi, i=1, ..., n-1 сетки ( дает 2(n-1) равенств.
Вместе получается 4N-2 уравнений.
Два дополнительных условия обычно задаются в виде ограничений на значение
производных сплайна на концах промежутка [a, b] и называются краевыми
условиями.
Наиболее употребительны следующие типы краевых условий:
а) S'3(а)=f'(а), S'(b)=f'(b);
б) S"3(а)=f"(а), S"(b)=f"(b);
в) [pic];
г) S'''3(x p+0)=S'''3(x p-0), р =1, n-1.
4. Численное дифференцирование и интегрирование
Если функция f(x) заданна аналитически ее первообразная F(x) является
элементарной функцией, то [pic] вычисляется по формуле Ньютона-Лейбница:
[pic] В тех случаях, когда функция f(x) задана аналитически, но ее
первообразная не является элементарной функцией или отыскать ее сложно, а
также в случае, когда функция f(x) задана графически или таблично, для
вычисления [pic] применяются приближенные методы.
Постановка задачи численного интегрирования
Задача численного интегрирования функции заключается в вычислении
определенного интеграла на основании ряда значений подынтегральной функции.
Численное вычисление однократного интеграла называется механической
квадратурой. Обычный прием механической квадратуры состоит в том, что
данную функцию f(x) на рассматриваемом отрезке [a, b] заменяют
интерполирующей или аппроксимирующей функцией ?(x) простого вида, а затем
приближенно полагают: [pic] Функция ?(x) должна быть такова, чтобы интеграл
[pic] вычислялся непосредственно. Если функция f(x) заданна аналитически,
то ставится вопрос об оценке погрешности. Пусть для функции y=f(x) известны
в n+1 точках x0, x1, x2, …, xn отрезка [a, b] соответствующие значения
f(xi)=yi (i=0, 1, 2, …, n). Требуется приближенно найти [pic] По
заданным значениям yi построим полином Лагранжа [pic], где
Пn+1(x)=(x-x0)(x-x1)…(x-xn), причем Ln(xi)=yi (i=0, 1, 2, …, n). Заменяя
функцию f(x) полиномом Ln(x), получим равенство [pic] где Rn[f] – ошибка
квадратурной формулы. Отсюда получаем приближенную квадратурную формулу
[pic] где [pic] (i=0, 1, 2, …, n). Для вычисления Ai заметим, что
1) коэффициенты Ai при данном расположении узлов не зависят от выбора
функции f(x);
2) для полинома степени n полученная формула – точная, так как тогда
Ln(x)=f(x); следовательно, формула [pic] - точная при y=xk (k=0, 1, 2,
…, n), т.е. Rn[xk]=0 при k=0, 1, …, n. Полагая y=xk (k=0, 1, 2, …, n),
получим линейную систему из n+1 уравнений [pic] - где [pic] (k=0, 1, …,
n), из которой можно определить коэффициенты A0, A1, …, An.
Составные квадратурные формулы
Приведем ряд простейших квадратурных формул, используемых в практике
численного интегрирования функции f(x) на некотором интервале [a, b],
разбитого на n равных отрезков точкам
| | скачать работу |
Некоторые дополнительные вычислительные методы |