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

Погрешность интерполирования

Поставим вопрос о том, насколько хорошо интерполяционный полином   приближает функцию   на отрезке [a,b]. Рассмотри м остаточный член: , x ∈ [a, b]. По определению интерполяционного полинома    поэтому речь идет об оценке   при значениях  . Пусть   имеет непрерывную (n+1) производную на отрезке [a, b]. Тогда погрешность определяется формулой: , где  , - точка из [a, b]. Так как точка   наизвестна, то эта формула позволяет только оценить погрешность: где  Из вида множетеля   следует, что оценка имеет смысл только при  . Если это не так, то при интерполяции используются полиномы низких степеней (n = 1,2). 

55. Сплайн-интерполяция.

Точность полиномиальной аппроксимации катастрофически падает при увеличении степени аппроксимирующих полиномов. От этого недостатка можно избавиться, используя для аппроксимации отрезки полиномов невысокой степени, применяемые для представления части узловых точек. Самым известным методом такой аппроксимации является сплайн-аппроксимация на основе применения отрезков кубических полиномов. При этом аппарат сплайн- аппроксимации позволяет получить полиномы, которые дают в узловых точках непрерывность не только представляемой ими функции, но и ее первых и даже вторых производных.

Наглядно сплайн-функцию можно представить в виде гибкой стальной линейки, закрепленной в узловых точках и плавно изгибающейся. Благодаря указанным свойствам сплайнов они неплохо описывают функции, представленные как небольшим числом узловых точек (благодаря плавности сплайн- кривых), так и функции, представляемые очень большим числом узловых точек (поскольку порядок полиномов от этого числа уже не зависит). Недостатком сплайн- аппроксимации является отсутствие общего выражения для всей кривой. Фактически приходится использовать набор сплайн- функций для различных интервалов между узловыми точками.

Для получения сплайн- интерполяций используется Maple-функция spline (X, Y, var, d).

Здесь X и Y — одномерные векторы одинакового размера, несущие значения координат узловых точек исходной функции (причем в произвольном порядке), var — имя переменной, относительно которой вычисляется сплайн-функция, наконец, необязательный параметр d задает вид сплайна. Он может иметь следующие значения: 1inear — линейная функция, или полином первого порядка, quadratic — квадратичная функция, или полином второго порядка, cubic — полином третьего порядка, quartiс — полином четвертого порядка. Если параметр d опущен, то сплайн-функция будет строиться на основе полиномов третьего порядка (кубические сплайны).

Технику сплайновой аппроксимации наглядно поясняет рис. 9.6. На нем представлено задание векторов узловых точек X и Y и четырех сплайновых функций, по которым построены их графики. Для одной из функций (с линейной интерполяцией между узлами) показан вид сплайновой функции.

Кубическим интерполяционным сплайном, соответствующим данной функции f(x) и данным узлам xiназывается функцияS(x)удовлетворяющая следующим условиям:

  1. на каждом сегменте [xi - 1, xi], i = 12, ..., N функция S(x) является полиномом третьей степени,

  2. функция S(x), а также ее первая и вторая производные непрерывны на отрезке [a, b],

  3. S(xi) = f(xi), i = 01, ..., N.

  4. На каждом из отрезков [xi - 1, xi], i = 12, ..., N будем искать функцию S(x) = Si(x) в виде полинома третьей степени:

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

    xi - 1   xi,

    (23)

  5. где ai, bi, ci, di - коэффициенты, подлежащие определению на всех n элементарных отрезках. Чтобы система алгебраических уравнений имела решение, нужно, чтобы число уравнений точно равнялось числу неизвестных. Поэтому мы должны получить 4n уравнения.

  6. Первые 2n уравнения мы получим из условия, что график функции S(x) должен проходить через заданные точки, т. е.Si(xi - 1) = yi - 1, Si(xi) = yi. Эти условия можно записать в виде:

    Si(xi - 1) = ai = yi - 1,

    Si(xi) = ai + bihi + cih  + dih  = yi,

    (24)

     

    (25)

  7. где

    hi = xi - xi - 1, i = 12, ..., n.

  8. Следующие 2n - 2 уравнения вытекают из условия непрерывности первых и вторых производных в узлах интерполяции, т. е. условия гладкости кривой во всех точках.

    S' i + 1(xi) = S' i(xi), i = 1, ..., n - 1,

    S' ' i + 1(xi) = S' ' i(xi), i = 1, ..., n - 1,

    S' (x) = bi + c(x - xi - 1) + d(x - xi - 1) ,

    S' i + 1 (x) = bi + 1 + ci + 1 (x - xi) + di + 1 (x - xi) .

  9. Приравнивая в каждом внутреннем узле x = xi значения этих производных, вычисленные в левом и правом от узла интервалах, получаем (с учетом hi = xi - xi - 1):

    bi + 1 = bi + hci + 3h di, i = 1, ..., n - 1,

    S' ' i(x) = ci + d(x - xi - 1),

    S' ' i + 1(x) = ci + 1 + di + 1 (x - xi),

     

    (26)

  10. если x = xi

    ci + 1 = ci + hdi, i = 1,2, ..., n - 1.

    (27)

  11. На данном этапе мы имеем 4n неизвестных и 4n - 2 уравнений. Следовательно, необходимо найти еще два уравнения.

  12. При свободном закреплении концов можно приравнять к нулю кривизну линии в этих точках. Из условий нулевой кривизны на концах следуют равенства нулю вторых производных в этих точках:

    S1' ' (x0) = 0 и Sn' ' (xn) = 0,

    ci = 0 и cn + dhn = 0.

    (28)

  13. Уравнения (24) - (28) составляют систему линейных алгебраических уравнений для определения 4коэффициентов: ai , bi , ci, di (i = 12, . . ., n).

  14. Эту систему можно привести к более удобному виду. Из условия(24) сразу можно найти все коэффициенты ai.

  15. Далее из (27) и (28) получим:

    di = ,i = 12, ..., n - 1, dn = - cn/(3hn)

    (29)

  16. Подставляя (24) и (28) в (25), получим:

bi = - (ci + 1 + 2ci) , i = 1,2, ..., n - 1,

bn = - (hcn)

 

(30)

Учитывая выражения (29) и (30), исключаем из уравнения (27) коэффициенты bi и d. Окончательно получим следующую систему уравнений только для коэффициентов сi:

c1 = 0 и cn + 1 = 0:

hi - 1 ci - 1 + 2 (hi - 1 + hici + hci + 1 = 3 ( - ),

i = 23, ..., n.

(31)

По найденным коэффициентам сi легко вычислить d,bi.

Матрица этой системы трехдиагональная. Т. е. ненулевые элементы находятся лишь на главной и двух соседних с ней диагоналях, расположенных сверху и снизу.

 

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