Справочник от Автор24
Поделись лекцией за скидку на Автор24

Нелинейная интерполяция

  • 👀 563 просмотра
  • 📌 512 загрузок
Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Конспект лекции по дисциплине «Нелинейная интерполяция» pdf
1.3. Нелинейная интерполяция Для табулирования быстроменяющихся функций требуется весьма малый шаг, т.е. возникает необходимость создавать таблицы очень больших объемов, что в ряде случаев неприемлемо. Оказывается, что преобразованием переменных   ( y ) и добиться того, чтобы в новых переменных график    ( x ) можно  (  ) был близок к прямой хотя бы на отдельных участках. В этом случае интерполяцию проводят в переменных ( , ) , а затем обратным интерполированием находят y i  y(  i ) . Преобразования  ( y ) и  ( x ) должны быть достаточно простыми (логарифмиче- ская, экспоненциальная, тригонометрические и некоторые другие функции). При этом надо заботиться о том, чтобы и обратное преобразование y(  ) оказалось несложным. Во многих задачах теплофизики, гидродинамики, оптики, переноса излучения) и других областей науки и техники часто встречается степенная зависимость функции от своих аргументов. В этом случае удобны преобразования типа логарифмирования. Вообще говоря, в каждом конкретном случае приходится специально подбирать вид функций  ( y )и   ( x ) . Например. функция y  a может быть представb  c  e dx лена следующим образом ln( a a  b )  d  x  ln c , т.е.   ln(  b ),   x . y y Для функциональной зависимости y  переменных   x линеаризация достигается заменой ax  b y 1 1 ,   , а для функции y  axe  bx -   ln( ),   x . x y x Пример. Получить формулу для нелинейной двухточечной интерполяции функции   ln( y ) и y( x ) , если переменные можно преобразовать по формулам   x. Составим интерполяционный полином Ньютона на двухточечном шаблоне:   0  1  0 (    0 ). 1  0 В исходных переменных имеем ln( y )  ln( y 0 )  ln( y 1 )  ln( y 0 ) ( x  x 0 ), x1  x0 и окончательно y  y 0 ( y 1 / y 0 )( x  x ) /( x1  x0 ) . 1.4. Интерполяция сплайнами Слово “сплайн” переводится как “гибкая линейка”. Такую линейку можно использовать для проведения кривых через заданную совокупность точек, изгибая и придерживая ее так, чтобы ребро проходило через все точки на плоскости. Равновесие гибкой линейки описывается уравнением  IV ( x )  0 , т.е. интерполяционный полином на участке между каж- дой парой соседних точек имеет третью степень:  ( x )  a i  bi ( x  xi 1 )  ci ( x  xi 1 ) 2  d i ( x  xi 1 ) 3 , (3.1) xi 1  x  xi ,0  i  N . В узлах значения многочлена и интерполируемой функции совпадают:  ( x i 1 )  y i 1  a i , (3.2)  ( xi )  y i  ai  bi hi  ci hi2  d i hi3 , (3.3) hi  xi  xi 1 ,1  i  N . Число таких уравнений меньше числа неизвестных в два раза. Недостающие уравнения получают, приравнивая во внутренних узлах первые и вторые производные, вычисляемые по коэффициентам на соседних участках:  ( x )  bi  2ci ( x  xi 1 )  3d i ( x  xi 1 ) 2 ,  ( x )  2ci  6 d i ( x  xi 1 ), xi 1  x  xi , bi 1  bi  2ci hi  3d i hi2 , (3.4) ci 1  ci  3d i hi , 1  i  N  1. (3.5) Недостающие условия можно получить, полагая, например, что вторая производная равна нулю на концах участка интерполирования:  ( x0 )  0,c1  0, (3.6)  ( x N )  0,c N  3d N hN  0, (3.7) Уравнения (3.2)-(3.7) позволяют определить все 4 N неизвестных коэффициентов: ai ,bi , ci , d i ( 1  i  N ). Решение полученной системы уравнений можно сильно упростить, если привести ее к специальному виду. Используя уравнение (3.2), можно получить все коэффициенты ai . Из (3.5) и (3.7) следует di  c i 1  c i , 3hi dN   1  i  N  1. (3.8) cN 3h N (3.9) Из (3.3) и (3.8): bi  y i  y i 1 c  2c i  hi i 1 , hi 3 Из (3.3) и (3.9): 1 i  N 1 . (3.10) bN  y N  y N 1 2c  hN N hN 3 (3.11) Исключим теперь из (3.4) величины bi и bi 1 с учетом (3.10), наращивая во втором случае индекс на 1, а величину d i - с учетом (3.8). В результате получим систему уравнений для определения коэффициентов c i : c1  0 , hi 1 c i 1  2( hi 1  hi )c i  hi c i 1  3( y i  y i 1 y i 1  y i  2  ) , 2  i  N  1 (3.12) hi hi 1 c N 1  0 . ) После нахождения коэффициентов c i остальные коэффициенты определяют по следующим формулам: a i  y i 1 , 1  i  N , bi  y i  y i 1 c  2c i  hi i 1 , 1 i  N 1 , hi 3 bN  y N  y N 1 2c  hN N , hN 3 di  ci 1  ci , 1 i  N 1 , 3hi dN   cN . 3h N Осталось выяснить, как решать систему (3.12). Матрица этой системы трехдиагональна, т.е. все ее элементы равны нулю, кроме тех, которые находятся на главной и двух соседних диагоналях. Такие системы удобно решать методом прогонки. Суть метода в следующем. Применение метода исключения Гаусса для решения системы уравнений с трехдиагональной матрицей приводит к тому, что система уравнений преобразуется к виду, когда в каждом уравнении содержится только два неизвестных, и при обратном ходе одно из этих неизвестных выражается через другое. Поэтому применительно к (3.12) можно записать: ci   i  1 ci  1   i  1 , где (3.13)  i 1 , i 1 - некоторые не известные пока прогоночные коэффициенты; c i 1   i c i   i . Подставляя последнее выражение в (3.12) и преобразуя, получим ci   hi f i  hi 1 i ci 1  . hi 1 i  2( hi 1  hi ) hi 1 i  2( hi 1  hi ) (3.14) Сравнивая (3.13) и (3.14), получим  i 1   hi f i  hi 1 i , i 1  . hi 1 i  2( hi 1  hi ) hi 1 i  2( hi 1  hi ) (3.15) В этих формулах введено обозначение f i  3( y i  y i 1 y i 1  y i  2  ). hi hi 1 Из условия c1  0 , следует  2  0 , 2  0 . Теперь алгоритм решения (3.12) выглядит следующим образом. По формулам (3.15) при известных  2 , 2 , равных нулю, вычисляют прогоночные коэффициенты  i 1 , i 1 ( 2  i  N ) (прямой ход). Затем по формулам (3.13) при условии c N 1  0 определяют все c i (обратный ход).
«Нелинейная интерполяция» 👇
Готовые курсовые работы и рефераты
Купить от 250 ₽
Решение задач от ИИ за 2 минуты
Решить задачу
Найди решение своей задачи среди 1 000 000 ответов
Найти
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач

Тебе могут подойти лекции

Смотреть все 938 лекций
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot