Вигляд граничних умов змінює деякі елементи матриці A, але в кожному разі вона залишається матрицею з діагональною перевагою. Розв’язок системи (5.35) із тридіагональною матрицею A може бути знайдений методом прогонки.
Випадки використання кубічного сплайна
При
побудові інтерполяційного кубічного сплайна найчастіше використовуються
граничні (крайові) умови трьох типів. Вибір граничних (крайових) умов є однією
з центральних проблем при інтерполяції функцій. Він особливо важливий за необхідності
забезпечити високу точність апроксимації функції сплайном
поблизу кінців відрізка
. Граничні значення суттєво впливають на
поведінку сплайна
поблизу точок а та b.
Цей вплив швидко слабшає при відході від них.
Отже,
якщо
(
),
, то
кубічний сплайн на цьому відрізку можна представити формулою
Тут
. Для їх визначення накладають умови
неперервності другої похідної в точках
та
обмеження на значення сплайна і його похідних на кінцях проміжку
- крайові умови. Тобто потрібна додаткова
інформація про функцію, для якої є потреба в інтерполюванні.
Якщо
на кінцях відрізка відомі значення 1-ї похідної
, то природно скористатися граничними
(крайовими) умовами 1-го типу.
1
Граничні (крайові) умови 1-го типу. Якщо відомо, що
, то для визначення
маємо
систему рівнянь
(5.36)
Якщо
на кінцях відрізка відомі значення 2-ї похідної
, то природно скористатися граничними
(крайовими) умовами 2-го типу.
2 Граничні (крайові) умови 2-го типу. Якщо відомо
, то є система рівнянь
. (5.37)
Якщо є можливість вибору між граничними (крайовими) умовами 1-го та 2-го типів, то перевагу потрібно надати умовам 1-го типу.
У
випадку, коли ніякої додаткової інформації про поведінку апроксимованої функції
немає, часто використовують так звані природні граничні (крайові) умови .
Однак
варто мати на увазі, що при такому виборі граничних (крайових) умов точність
апроксимації функції сплайном
поблизу
кінців відрізка
різко знижується. Іноді
користуються граничними (крайовими) умовами 1-го або 2-го типу, але не з
точними значеннями відповідних похідних, а з їх різницевими апроксимаціями.
Точність такого підходу невисока.
Практичний
досвід розрахунків показує, що в такій ситуації найбільш доцільним є вибір
природних граничних ( крайових) умов. Якщо -
періодична функція, то потрібно зупинитися на граничних (крайових) умовах 3-го
типу.
3
Граничні (крайові) умови 3-го типу. Якщо - періодична функція
, то
і
система рівнянь має вигляд
. (5.38)
//розв’язує СЛАР методом Гауса
//M – матриця системи і вільні члени
//X – вектор відповідей
//n – кількість невідомих
linequ(M,n,e,X):
//доступна в модулі naz.pas
end
//X – значення аргумента
//Y – значення функції
//xi – значення аргумента, для якого потрібно знайти значення
// функції
//h – крок
//змінні DY, D2Y і т.д. – скінченні різниці
//змінні SDY, SD2Y і т.д. – розділені різниці
//відшукуємо значення інтерполюючого многочлена при x=xi
Find_PX(X,Y,n,h):
1 n:=X.length;
2 for i:=1 to n do
3 DY[i]:=Y[i+1]-Y[i]
4 done
5 for i:=1 to (n-1) do
6 D2Y[i]:=DY[i+1]-DY[i]
7 done
8 for i:=1 to (n-2) do
9 D3Y[i]:=D2Y[i+1]-D2Y[i]
10 done
11 for i:=1 to (n-3) do
12 D4Y[i]:=D3Y[i+1]-D3Y[i]
13 done
14 for i:=1 to n do
15 SDY[i]:=Y[i+1]-Y[i]/(X[i+1]-X[i])
16 done
17 for i:=1 to (n-1) do
18 D2Y[i]:=SDY[i+1]-SDY[i]/(X[i+2]-X[i])
19 done
20 for i:=1 to (n-2) do
21 D3Y[i]:=SD2Y[i+1]-SD2Y[i]/(X[i+3]-X[i])
22 done
23 for i:=1 to (n-3) do
24 D4Y[i]:=SD3Y[i+1]-SD3Y[i]/(X[i+4]-X[i])
25 done
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.