Из вышеизложенного очевидно, что при аппроксимации очень часто приходится вычислять значения многочленов вида
P(x) = a0 + a1x + a2x2 + … + anxn . (5.49)
Если выполнять все вычисления, то нужно (n2 + n/2) умножений, n сложений и плюс округления при выполнении этих операций. Поэтому для вычисления используют схему Горнера, в которой требуется выполнить только n умножений и n сложений:
Алгоритм реализации вычисления (5.49) согласно формуле (5.50) представлен на рис. 5.7.
Рис. 5.7
Понятие численного интегрирования. Интегрирование функций является важной составной частью многих научных и технических задач. Напомним, что геометрический смысл простейшего определенного интеграла
(6.1)
от f(x) ³ 0, как известно, состоит в том, что значение величины I – это площадь, ограниченная кривой y = f(x), осью абсцисс и прямыми x = a, x = b (рис. 6.1).
Во многих случаях, когда функция f(x) в (6.1) задана аналитически, определенный интеграл вычисляется непосредственно с помощью неопределенного интеграла (посредством первообразной) по формуле Ньютона - Лейбница:
. (6.2)
Рис. 6.1
Однако формулой (6.2) на практике можно воспользоваться не всегда, а именно:
– когда вид f(x) не допускает непосредственного интегрирования, т. е. первообразная F(x) не выражается в элементарных функциях;
– если значения f(x) заданы в виде таблицы.
Универсальным подходом для решения поставленной задачи является использование методов численного интегрирования, основанных на аппроксимации подынтегральной функции с помощью интерполяционных многочленов различных степеней.
Следует подчеркнуть, что основная идея численного интегрирования заложена уже в определении известного интеграла Римана от f(x), формально записанного в виде (6.1). Напомним суть этого определения.
Пусть вещественная функция f(x) определена и ограничена на интервале [a, b]. Разобьем этот интервал на n произвольных частичных интервалов [xi, xi+1], 0 £ i £ n – 1, x0 = a, xn = b.
Выберем в каждом интервале [xi, xi+1] произвольную точку x, xi£ x £ xi+1 и составим так называемую интегральную сумму (см. рис. 6.1).
. (6.3)
Если предел S при стремлении длины наибольшего частичного интервала к нулю существует для произвольных xi, то его называют интегралом Римана от f(x):
. (6.4)
Тогда сумма (6.3) дает простейший пример численного интегрирования, а ее верхняя S2 и нижняя S1 суммы определяют величину погрешности S, а именно:
(6.5)
Существующие на практике формулы численного интегрирования по существу отличаются от (6.3) только явным указанием способов:
1) выбора xi, xi;
2) ускорения сходимости в (6.4);
3) оценки погрешности посредством дополнительной информации о поведении f(x) (например, что f(x) Î C2[a, b] – данная запись означает, что подынтегральная функция должна иметь не менее 2-х производных).
В качестве рабочего инструмента численного интегрирования вводится понятие квадратурной формулы для (6.1). Для этого обобщим понятие интегральной суммы (6.3). Точки xi (см. рис. 6.1), в которых вычисляются значения f(x), называются узлами, а коэффициенты (xi+1 – xi) в (6.3) заменяют некоторыми числами qi, не зависящими от f(x), называемыми весами. Формула (6.3) заменяется следующей:
, (6.6)
где a £ xi£ b.
Очевидно, что интеграл (6.1) согласно (6.5) следует записать в виде
. (6.7)
Формула (6.7) и называется квадратурной формулой, а R в (6.7) – погрешностью квадратурной формулы. При выборе численных методов интегрирования следует заметить, что каждая конкретная квадратурная формула считается заданной, если указано, как выбирать xi, соответствующие веса qi, а также указана методика оценки погрешности R для определенных классов функций.
Понятие точной квадратурной формулы. Для некоторых классов функций можно записать квадратурные формулы с погрешностью R º 0 сразу для всего класса. Такие квадратурные формулы называются точными. Для иллюстрации этого рассмотрим
f(x) = Pm(x) = a0 + a1x + ... + amxm
на интервале [a, b]. Определим на [a, b] произвольные попарно различные узлы xi, 0 £ i £ m. Искомое точное соотношение для данной функции f(x) согласно (6.7) будет иметь вид
. (6.8)
Полином Pm(x) в левой части (6.8) можно записать в виде интерполяционного многочлена:
.
Тогда условие (6.8) позволяет найти значения для весов qi при 0 £ i £ m:
. (6.9)
Если взять произвольные различные узлы xi на [a, b] и вычислить (6.9), то соотношение (6.8) имеет место, т. е. формула является точной.
Следует заметить, что формула (6.8) может оказаться точной для полиномов степени, большей чем m. Это достигают специальным выбором узлов xi на отрезке [a, b], 0 £ i £ m.
Практический смысл точных квадратурных формул появляется для таких классов функций f(x), которые могут быть хорошо аппроксимированы полиномами на интервале [a, b].
Применив точную формулу к f(x), можно получить малую погрешность R в (6.7) для рассматриваемого класса функций.