Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Випадки використання кубічного сплайнаСодержание книги
Поиск на нашем сайте
При побудові інтерполяційного кубічного сплайна найчастіше використовуються граничні (крайові) умови трьох типів. Вибір граничних (крайових) умов є однією з центральних проблем при інтерполяції функцій. Він особливо важливий за необхідності забезпечити високу точність апроксимації функції сплайном поблизу кінців відрізка . Граничні значення суттєво впливають на поведінку сплайна поблизу точок а та 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 26 t:=(xi-X[1])/h 27 return X[1]+(t/factorial(1))*DY[1]+((t*(t-1))/factorial(2))*D2Y[1]+((t*(t-1)*(t-2))/factotrial(3))*D3Y[1]+((t*(t-1)*(t-2)*(t-3))/factorial(4))*D4Y[1]; End //R – дані сплайна //eps – точність обчислень //xi – значення аргумента, при якому потрібно знайти значення функції // //відшукуємо значення кубічного сплайна в точці xi Find_Spline(R,eps,xi) 1 linequ(R,R.length,1E-6,М) 2 k:=2 3 s31:=(X[k+1]-xi)*(X[k+1]-xi)*(2*(xi-X[k])+1)*Y[k]+(xi-X[k])*(xi-X[k])*(2*(X[k+1]-xi)+1)*Y[k+1] 4 s32:=(X[k+1]-xi)*(X[k+1]-xi)*(xi-X[k])*M[k]+(xi-X[k])*(xi-X[k])*(xi-X[k+1])*М[k+1] 5 return s31+s32 end
|
||||
Последнее изменение этой страницы: 2021-12-15; просмотров: 67; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.191.87.157 (0.008 с.) |