Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МЕТОДИЧКА_числен_мет.DOC
Скачиваний:
48
Добавлен:
11.11.2019
Размер:
1.97 Mб
Скачать

2.7. Кубический сплайн

Построим на отрезке [a,b] функцию Si(x) так, чтобы на каждом отрезке

[x i-1 , x i ] (i=1,...,n) функция Si(x) представляла собой полином третьей степени

Si(x)=ai+ bi (xi-x) + ci(xi-x)2+ di(xi-x)3

и в узлах xi имела первую и вторую непрерывные производные:

(x)= -bi -ci(xi-x) - di(xi-x)2,

(x)=ci+di(xi-x),

(a) = =0.

Используя условие интерполирования и непрерывности, имеем:

Si(xi)= f(xi),

Si(xi)= Si+1(xi),

(xi)= (xi),

(xi)= (xi),

далее, обозначив yi=f(xi) и hi+1=xi+1-xi, получим, что

ai=yi, (2.1)

ai=ai+1+bi+1hi+1+ ci+1 + di+1 , (2.2)

bi=bi+1+ci+1hi+1 + di+1 , (2.3)

ci=ci+1+di+1hi+1. (2.4)

Из (2.4) следует:

di+1= (i=0,1,..n-1). (2.5)

Подставим (2.5) в (2.2) и выразим bi+1:

bi+1= (i=0,1,…n-1). (2.6)

Подставим (2.6) и (2.5) в (2.3) и получим систему из (n-1) трехточечного уравнения относительно переменной c:

αi ci-1 +βi ci+ γi ci+1 = φi , (i=1,…,n-1), (2.7)

где

αi = hi,

βi = 2(hi+1+hi),

γi = hi+1,

φi = 6 .

Уравнение (2.7) при краевых условиях ( (a) = =0) c0=0, cn=0 решается методом прогонки:

ci = pi+1 ci+1 + qi+1 (i=n-1,…,1). (2.8)

Запишем формулу (2.8) для ci-1 и подставим в уравнение (2.7):

αi (pi ci + qi )i ci + γici+1i.

Выразим отсюда ci:

ci= ci+1+ .

Сравнивая с формулой (2.8), выпишем формулы для прогоночных коэффициентов pi+1 и qi+1:

pi+1= ,

qi+1= (i=1,…, n-1).

Для вычисления p1 , q1 запишем краевое условие c0=0 в виде (2.8):

с0=p1c1+q1=0.

Отсюда следует, что p1=0, q1=0. Определим все pi+1, qi+1 для i=1,…n-1 и, зная граничное условие cn=0 по (2.8) для i=n-1,…,1, найдем все ci.. Затем из формул (2.5) и (2.6) получим оставшиеся коэффициенты для кубического сплайна.

Задания

  1. Используя интерполяционный многочлен Лагранжа степени n, построить на отрезке [a, b] графики заданной функции y=f(x) и полинома Лагранжа y=Ln(x). Вывести величину теоретической и практической погрешностей:

    • теор. = | R n (x) |,

    • практ. = | f(x) – L n (x) |.

  2. Используя полином Гаусса при n=2, найти значение функции y = f(x) в точке x = x0 с заданной точностью .

  3. Используя интерполирование функции сплайнами, построить графики заданной функции y = f(x), линейного сплайна y = S1(x) и кубического сплайна y = S3(x). Вывести практическую погрешность для сплайнов.

Варианты функций

  1. sin (sin x)

  2. exp (sin x)

  3. sin (exp x)

  4. sin2 x + sin x + x

  5. sin (exp x2)

  6. cos (sin x2)

  7. ln (x2+x+1)

  8. cos (sin (cos x))

  9. cos2 x+cos (x+1)+x

  10. x exp x+sin x

  11. exp (x+sin x)

  12. ln (x2+ sin2 x)

  13. ln2 x+ln x+1

  14. x sin (x2+x)

  15. x2 exp (x2+1)

  16. cos (cos (5 x2))

  17. ln (cos x)+ln x

  18. exp(sin (3x)+x2)

  19. ln2 x+ln x+x

  20. x cos (exp (x2+1))

  1. sin (cos (ln x))

  2. ln (x2+cos2 x)

  3. cos2 (sin 3x)

  4. sin (cos (sin x))

  5. exp(sin 5x)+ln x

  6. ln (e2x + x)

  7. ln (e3x+2 x)+ex2

  8. exp (x2-1)+x

  9. exp (5x2-3)2+sin x

  10. cos (sin2 x)

  11. ln2 x+sin x

  12. sin2 x cos (x+1)

  13. exp (sin x+x)

  14. x exp(x2+x+1)

  15. ex+cos( x2+1)

  16. x cos(e-x) x sin(ex)

  17. x sin (e-x)

  18. x2 ln ( sin (x2+1))

  19. sin (cos (ex))

  20. sin (cos (ex))