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

4.2. Интерполяционный многочлен Ньютона

Имеем случай неравностоящих узлов, n = 3;

N3(x) = f(x0) + (xx0)f(x0,x1) + (xx0)(xx1)f(x0,x1,x2) + (xx0)(xx1)(xx2)f(x0,x1,x2,x3).

По схеме таблицы 2 находим раздельные разности

f(x0,x1) = ;

f(x1,x2) = ;

f(x2,x3) = ;

f(x0,x1,x2) =

f(x1,x2,x3) =

f(x0,x1,x2,x3) = .

Результаты расчетов поместим в таблицу:

n

xn

fn

f(xn, xn+1)

f(xn, xn+1, xn+2)

f(xn, xn+1, xn+2, xn+3)

0

0

–0,5

1

0,1

0

5

–40/3

125/3

2

0,3

0,2

1

15/2

3

0,5

1

4

Используя первые в столбцах разделенные разности, получим

N3(x) = –0,5 + (x – 0)5 + (x – 0)(x – 0,1)(– ) + (x – 0)(x – 0,1)(x – 0,3) =

= x3 – 30x2 + x – 0,5 . (30)

Аналогично расчету по Лагранжу.

Напомним, что расчеты интерполяционного многочлена Ньютона выполняются по формуле

,

где – текущая точка, в которой надо вычислить значение многочлена;

– разделенные разности порядка k, которые вычисляются по следующим рекуррентным формулам:

Схема алгоритма расчета многочлена Ньютона, реализованная в виде функции PN с параметрами, значения которых аналогичны рассмотренной ранее функции PL, представлена на рис. 5.2.

Результатом функции PN является значение N.

Рис. 5.2. Схема расчета многочлена Ньютона

5.5. Сплайны

Пусть интервал [a,b] разбит узлами xi, как и выше, на n отрезков, 0  i n Сплайном Sn(x) называется функция, определенная на [a, b], принадлежащая Ck[a, b] и такая, что на каждом отрезке [xi, xi+1], 0  i n–1 – это полином n-й степени.

В частности, это могут быть, построенные специальным образом, многочлены 3-й степени (кубический сплайн), которые являются математической моделью гибкого тонкого стержня, закрепленного в двух точках на концах с заданными углами наклона  и .

В данной физической модели стержень принимает форму, минимизирующую его потенциальную энергию. Пусть форма стержня определяется какой-то функцией y = S(x). Из курса сопротивления материалов известно, что уравнение свободного равновесия имеет вид S(IV)(x) = 0. А этому состоянию соответствует многочлен третьей степени между двумя соседними узлами интерполяции. Его выбирают в виде

S(x) = ai + bi(x xi–1) + ci(x xi–1)2 + di(x xi–1)3 ; xi–1 хxi . (31)

Стоит проблема нахождения ai, bi, ci, di. Для определения их на всех n элементарных участках интервала [a,b] необходимо составить 4n уравнений. Часть этих уравнений в составе 2n получают из условия прохождения S(x) через заданные точки, т.е.

S(xi–1) = yi–1; S(xi) = yi .

Эти условия можно записать, используя (31) в виде:

(32)

(33)

Уравнения в количестве (2n–2) получают из условия непрерывности первых и вторых производных в узлах интерполяции. Условие гладкости.

Вычислим производные многочлена (31)

(x) = bi + 2ci(x xi–1) + 3di(x xi–1)2,

(x) = 2ci + 6di(x xi–1); при xi–1 хxi . (34)

Приравнивая в каждом внутреннем узле x = xi значения этих производных, вычисленных на концах рассматриваемого отрезка, получают (2n–2) уравнений

bi+1 = bi + 2hici + 3h di ; i=1,2,…,n–1; (35)

ci+1 = ci + 3hidi ; i=1,2,…,n–1 . (36)

Оставшиеся 2 уравнения получают из естественного предположения условия о нулевой кривизне этой функции на концах отрезка.

(37)

Система, составленная из (32) – (37), решается одним из методов решения СЛАУ.

Для упрощения машинных расчетов эта система уравнений приводится к более удобному виду посредством следующего алгоритма.

1. Из условия (32) можно сразу найти ai.

2. Из (36) – (37) находят:

(38)

3. После подстановки (38) и (32) в (33) находят коэффициенты bi.

bi = ;

bn = . (39)

4. Учитывая (38) и (39) из уравнения (35) исключаются di и bi, тогда исходная система приводится к трехдиагональной матрице, содержащей только коэффициенты ci. Получаем систему

hi–1ci–1 + 2(hi–1 + hi)ci + hici+1 = 3( ), i=2,3,…,n. (40)

При этом c1 = 0, cn+1 = 0. Система (40) может быть решена методом прогонки. Зная ci по (38) и (39), определяют bi и di. Тогда кубический многочлен определяется для всех интервалов.

Пример составления системы (40). Пусть функция f(x) задана таблицей

i

0

1

2

3

4

5

x

0,1

0,15

0,19

0,25

0,28

0,30

y = f(x)

1,1052

1,1618

1,2092

1,2840

1,3231

0,3499

h

0,05

0,04

0,06

0,03

0,02

с1 = 0;

0,05c1+0,18c2+0,04c3 = 3

(коэффициент при c2 получен следующим образом: 2(0,05+0,04) = 0,18;)

0,04c2 + 0,2c3 + 0,06c4 = 3 ;

0,06c3 + 0,18c4 + 0,03c5 = 3

0,03c4 + 0,1c5 = 3

c6 = 0.

В результате получим систему относительно c2 c5:

= .

Найдя ci по (38), находят di и затем по (39) – bi.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]