Что такое линейная интерполяция. Определение промежуточного значения методом линейной интерполяции. Постановка задачи интерполяции

Бывает ситуация, когда в массиве известных значений нужно найти промежуточные результаты. В математике это называется интерполяцией. В Excel данный метод можно применять как для табличных данных, так и для построения графиков. Разберем каждый из этих способов.

Главное условие, при котором можно применять интерполяцию – это то, что искомое значение должно быть внутри массива данных, а не выходить за его предел. Например, если мы имеем набор аргументов 15, 21 и 29, то при нахождении функции для аргумента 25 мы можем использовать интерполяцию. А для поиска соответствующего значения для аргумента 30 – уже нет. В этом и является главное отличие этой процедуры от экстраполяции.

Способ 1: интерполяция для табличных данных

Прежде всего, рассмотрим применения интерполяции для данных, которые расположены в таблице. Для примера возьмем массив аргументов и соответствующих им значений функции, соотношение которых можно описать линейным уравнением. Эти данные размещены в таблице ниже. Нам нужно найти соответствующую функцию для аргумента 28 . Сделать это проще всего с помощью оператора ПРЕДСКАЗ .


Способ 2: интерполяция графика с помощью его настроек

Процедуру интерполяции можно применять и при построении графиков функции. Актуальна она в том случае, если в таблице, на основе которой построен график, к одному из аргументов не указано соответствующее значение функции, как на изображении ниже.


Как видим, график скорректирован, а разрыв с помощью интерполяции удален.

Способ 3: интерполяция графика с помощью функции

Произвести интерполяцию графика можно также с помощью специальной функции НД. Она возвращает неопределенные значения в указанную ячейку.


Можно сделать даже проще, не запуская Мастер функций , а просто с клавиатуры вбить в пустую ячейку значение «#Н/Д» без кавычек. Но это уже зависит от того, как какому пользователю удобнее.

Как видим, в программе Эксель можно выполнить интерполяцию, как табличных данных, используя функцию ПРЕДСКАЗ , так и графика. В последнем случае это осуществимо с помощью настроек графика или применения функции НД , вызывающей ошибку «#Н/Д» . Выбор того, какой именно метод использовать, зависит от постановки задачи, а также от личных предпочтений пользователя.

Инструкция

Зачастую при проведении эмпирических исследований приходится сталкиваться с набором значений полученных методом случайной выборки. Из этого ряда значений требуется построить график функции, в которую с максимальной точностью впишутся и другие полученные значения. Этот метод, а точнее решение этой задачи есть аппроксимация кривой, т.е. замена одних объектов или явлений другими, близкими по исходному параметру. Интерполяция, в свою очередь же является разновидностью аппроксимации. Интерполяцией кривой называют процесс, при котором кривая выстроенной функции проходит через имеющиеся точки данных.

Имеется очень близкая к интерполяции задача, суть которой будет заключаться в аппроксимации исходной сложной функции иной, гораздо более простой функцией. Если же отдельная функция очень для вычислений, то можно попытаться вычислить её значение в нескольких точках, а по полученным построить (интерполировать) более простую функцию. Однако упрощенной функции не позволит получить столь же точные и достоверные данные, какие бы давала исходная функция.

Интерполяция через алгебраический двучлен, или линейная интерполяция
В общем виде: происходит интерполирование некоторой заданной функции f(х), принимающей значение в точках x0 и x1 отрезка алгебраическим двучленом P1(x) = ax + b. Если же задается более чем два значения функции, то искомая линейная функция заменяется линейно-кусочной функцией, каждая часть функции заключается между двумя заданными значениями функции в этих точках на интерполируемом отрезке.

Интерполирование методом конечных разностей
Данный метод один из простейших и широко распространенных методов осуществления интерполяции. Его суть в замене дифференциальных коэффициентов уравнения на разностные коэффициенты. Это действие позволит перейти к решению дифференциального уравнения путем его разностного аналога, иначе говоря, построить его конечно-разностную схему

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

Интерполяция. Введение. Общая постановка задачи

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

Таблично заданные в математических моделях функции обычно записываются в таблицы вида:

Y1 (X)

Y(Х0 )

Y(Х1 )

Y(Хn )

Ym (X)

Y(Х0 )

Y(Х1 )

Y(Хn )

Ограниченность информации, представленной такими таблицами, в ряде случаев требует получить значения функций Y j (X) (j=1,2,…,m) в точкахХ , не совпадающих с узловыми точками таблицыХ i (i=0,1,2,…,n) . В таких случаях необходимо определить некоторое аналитическое выражениеφ j (Х) для вычисления приближенных значений исследуемой функцииY j (X) в произвольно задаваемых точкахХ . Функцияφ j (Х) используемая для определения приближенных значений функцииY j (X) называется аппроксимирующей функцией (от латинскогоapproximo - приближаюсь). Близость аппроксимирующей функцииφ j (Х) к аппроксимируемой функцииY j (X) обеспечивается выбором соответствующего алгоритма аппроксимации.

Все дальнейшие рассмотрения и выводы мы будем делать для таблиц, содержащих исходные данные одной исследуемой функции (т. е. для таблиц с m=1 ).

1. Методы интерполяции

1.1 Постановка задачи интерполяции

Наиболее часто для определения функции φ(Х) используется постановка, называемая постановкой задачи интерполяции.

В этой классической постановке задачи интерполяции требуется определить приближенную аналитическую функциюφ(Х) , значения которой в узловых точкахХ i совпадают со значениями Y(Х i ) исходной таблицы, т.е. условий

ϕ (X i )= Y i (i = 0,1,2,...,n )

Построенная таким образом аппроксимирующая функция φ(Х) позволяет получить достаточно близкое приближение к интерполируемой функцииY(X) в пределах интервала значений аргумента [Х 0 ; Х n ], определяемого таблицей. При задании значений аргументаХ ,не принадлежащих этому интервалу, задача интерполяции преобразуется в задачуэкстраполяции . В этих случаях точность

значений, получаемых при вычислении значений функции φ(Х), зависит от расстояния значения аргументаХ отХ 0 , еслиХ <Х 0 , или отХ n , еслиХ >Х n .

При математическом моделировании интерполирующая функция может быть использована для вычисления приближенных значений исследуемой функции в промежуточных точках подынтервалов [Х i ; Х i+1 ]. Такая процедура называетсяуплотнением таблицы .

Алгоритм интерполяции определяется способом вычисления значений функции φ(Х). Наиболее простым и очевидным вариантом реализации интерполирующей функции является замена исследуемой функцииY(Х) на интервале [Х i ; Х i+1 ] отрезком прямой, соединяющим точкиY i , Y i+1 . Этот метод называется методом линейной интерполяции.

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

При линейной интерполяции значение функции в точке Х , находящейся между узламиХ i иХ i+1 , определяется по формуле прямой, соединяющей две соседние точки таблицы

Y(X) = Y(Xi )+

Y(Xi + 1 )− Y(Xi )

(X − Xi ) (i= 0,1,2, ...,n),

X i+ 1− X i

На рис. 1 приведен пример таблицы, полученной в результате измерений некоторой величины Y(X) . Строки, исходной таблицы выделены заливкой. Справа от таблицы построена точечная диаграмма, соответствующая этой таблице. Уплотнение таблицы выполнено благодаря вычислению по формуле

(3) значений аппроксимируемой функции в точках Х , соответствующих серединам подынтервалов (i=0, 1, 2, … , n ).

Рис.1. Уплотненная таблица функции Y(X) и соответствующая ей диаграмма

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

интерполяции, существенно зависит от характера интерполируемой функции и от расстояния между узлами таблицы X i, , X i+1 .

Очевидно, что если функция плавная, то, даже при сравнительно большом расстоянии между узлами, график, построенный путем соединения точек отрезками прямых, позволяет достаточно точно оценить характер функции Y(Х). Если же функция изменяется достаточно быстро, а расстояния между узлами большие, то линейная интерполирующая функция не позволяет получить достаточно точное приближение к реальной функции.

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

1.3 Интерполяция каноническим полиномом

Метод интерполяции функции каноническим полиномом основывается на построении интерполирующей функции как полинома в виде [ 1 ]

ϕ (x) = Pn (x) = c0 + c1 x+ c2 x2 + ... + cn xn

Коэффициенты с i полинома (4) являются свободными параметрами интерполяции, которые определяются из условий Лагранжа:

Pn (xi )= Yi , (i= 0 , 1 , ... , n)

Используя (4) и (5) запишем систему уравнений

C x+ c x2

C xn = Y

C x+ c x2

C xn

C x2

C xn = Y

Вектор решения с i (i = 0, 1, 2, …, n ) системы линейных алгебраических уравнений (6) существует и может быть найден, если среди узловх i нет совпадающих. Определитель системы (6) называется определителем Вандермонда1 и имеет аналитическое выражение [ 2 ].

1 Определителем Вандермонданазывается определитель

Он равен нулю тогда и только тогда, когда xi = xj для некоторых. (Материал из Википедии - свободной энциклопедии)

Для определения значений коэффициентов с i (i = 0, 1, 2, … , n)

уравнений (5) можно записать в векторно-матричной форме

A* C= Y,

где А, матрица коэффициентов, определяемых таблицей степеней вектора аргументовX= (x i 0 , x i , x i 2 , … , x i n ) T (i = 0, 1, 2, … , n)

x0 2

x0 n

xn 2

xn n

С - вектор-столбец коэффициентовс i (i = 0, 1, 2, … , n), аY - вектор-столбец значенийY i (i = 0, 1, 2, … , n) интерполируемой функции в узлах интерполяции.

Решение этой системы линейных алгебраических уравнений может быть получено одним из методов, описанных в [ 3 ]. Например, по формуле

С = A− 1 Y,

где А -1 - матрица обратная матрицеА . Для получения обратной матрицы А -1 можно воспользоваться функциейМОБР() , входящей в набор стандартных функций программы Microsoft Excel.

После того, как будут определены значения коэффициентов с i , используя функцию (4), могут быть вычислены значения интерполируемой функции для любого значения аргументах .

Запишем матрицу А для таблицы, приведенной на рис.1, без учёта строк уплотняющих таблицу.

Рис.2 Матрица системы уравнений для вычисления коэффициентов канонического полинома

Используя функцию МОБР() , получим матрицу А -1 обратную матрицеА (рис. 3). После чего, по формуле (9) получим вектор коэффициентовС={c 0 , c 1 , c 2 , …, c n } T , приведенный на рис. 4.

Для вычисления значений канонического полинома в ячейку столбца Y канонич , соответствующую значениюх 0 , введем преобразованную к следующему виду формулу, соответствующую нулевой строке системы (6)

=((((c 5

* х 0 +c 4 )*х 0 +c 3 )*х 0 +c 2 )*х 0 +c 1 )*х 0 +c 0

C0 +x *(c1 + x *(c2 + x*(c3 + x*(c4 + x* c5 ))))

Вместо записи " c i " в формуле, вводимой в ячейку таблицы Excel, должна стоять абсолютная ссылка на соответствующую ячейку, содержащую этот коэффициент (см. рис. 4). Вместо "х 0 " - относительная ссылка на ячейку столбцаХ (см. рис. 5).

Y канонич (0) значения, совпадающего со значением в ячейкеY лин (0) . При протягивании формулы, записанной в ячейкуY канонич (0), должны также совпасть и значенияY канонич (i) , соответствующие узловым точкам исходной

таблицы (см. рис.5).

Рис. 5. Диаграммы, построенные по таблицам линейной и канонической интерполяции

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

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

Способ 2: экстраполяция для графика

Выполнить процедуру экстраполяции для графика можно путем построения линии тренда.

  1. Прежде всего, строим сам график. Для этого курсором при зажатой левой кнопке мыши выделяем всю область таблицы, включая аргументы и соответствующие значения функции. Затем, переместившись во вкладку «Вставка» , кликаем по кнопке «График» . Этот значок расположен в блоке «Диаграммы» на ленте инструментов. Появляется перечень доступных вариантов графиков. Выбираем наиболее подходящий из них на свое усмотрение.
  2. После того, как график построен, удаляем из него дополнительную линию аргумента, выделив её и нажав на кнопку Delete на клавиатуре компьютера.
  3. Далее нам нужно поменять деления горизонтальной шкалы, так как в ней отображаются не значения аргументов, как нам того нужно. Для этого, кликаем правой кнопкой мыши по диаграмме и в появившемся списке останавливаемся на значении «Выбрать данные» .
  4. В запустившемся окне выбора источника данных кликаем по кнопке «Изменить» в блоке редактирования подписи горизонтальной оси.
  5. Открывается окно установки подписи оси. Ставим курсор в поле данного окна, а затем выделяем все данные столбца «X» без его наименования. Затем жмем на кнопку «OK» .
  6. После возврата к окну выбора источника данных повторяем ту же процедуру, то есть, жмем на кнопку «OK» .
  7. Теперь наш график подготовлен и можно, непосредственно, приступать к построению линии тренда. Кликаем по графику, после чего на ленте активируется дополнительный набор вкладок – «Работа с диаграммами» . Перемещаемся во вкладку «Макет» и жмем на кнопку «Линия тренда» в блоке «Анализ» . Кликаем по пункту «Линейное приближение» или «Экспоненциальное приближение» .
  8. Линия тренда добавлена, но она полностью находится под линией самого графика, так как мы не указали значение аргумента, к которому она должна стремиться. Чтобы это сделать опять последовательно кликаем по кнопке «Линия тренда» , но теперь выбираем пункт «Дополнительные параметры линии тренда» .
  9. Запускается окно формата линии тренда. В разделе «Параметры линии тренда» есть блок настроек «Прогноз» . Как и в предыдущем способе, давайте для экстраполяции возьмем аргумент 55 . Как видим, пока что график имеет длину до аргумента 50 включительно. Получается, нам нужно будет его продлить ещё на 5 единиц. На горизонтальной оси видно, что 5 единиц равно одному делению. Значит это один период. В поле «Вперед на» вписываем значение «1» . Жмем на кнопку «Закрыть» в нижнем правом углу окна.
  10. Как видим, график был продлен на указанную длину с помощью линии тренда.

Итак, мы рассмотрели простейшие примеры экстраполяции для таблиц и для графиков. В первом случае используется функция ПРЕДСКАЗ , а во втором – линия тренда. Но на основе этих примеров можно решать и гораздо более сложные задачи прогнозирования.

У этого термина существуют и другие значения, см. Интерполяция. О функции, см.: Интерполянт.

Интерполя́ция , интерполи́рование (от лат. inter–polis - «разглаженный, подновлённый, обновлённый; преобразованный ») - в вычислительной математике способ нахождения промежуточных значений величины по имеющемуся дискретному набору известных значений. Термин «интерполяция» впервые употребил Джон Валлис в своём трактате «Арифметика бесконечных» (1656).

В функциональном анализе интерполяция линейных операторов представляет собой раздел, рассматривающий банаховы пространства как элементы некоторой категории.

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

Существует также близкая к интерполяции задача, которая заключается в аппроксимации какой-либо сложной функции другой, более простой функцией. Если некоторая функция слишком сложна для производительных вычислений, можно попытаться вычислить её значение в нескольких точках, а по ним построить, то есть интерполировать, более простую функцию. Разумеется, использование упрощенной функции не позволяет получить такие же точные результаты, какие давала бы первоначальная функция. Но в некоторых классах задач достигнутый выигрыш в простоте и скорости вычислений может перевесить получаемую погрешность в результатах.

Следует также упомянуть и совершенно другую разновидность математической интерполяции, известную под названием «интерполяция операторов». К классическим работам по интерполяции операторов относятся теорема Рисса - Торина (Riesz-Thorin theorem) и теорема Марцинкевича (Marcinkiewicz theorem), являющиеся основой для множества других работ.

Определения

Рассмотрим систему несовпадающих точек x i {\displaystyle x_{i}} (i ∈ 0 , 1 , … , N {\displaystyle i\in {0,1,\dots ,N}}) из некоторой области D {\displaystyle D} . Пусть значения функции f {\displaystyle f} известны только в этих точках:

Y i = f (x i) , i = 1 , … , N . {\displaystyle y_{i}=f(x_{i}),\quad i=1,\ldots ,N.}

Задача интерполяции состоит в поиске такой функции F {\displaystyle F} из заданного класса функций, что

F (x i) = y i , i = 1 , … , N . {\displaystyle F(x_{i})=y_{i},\quad i=1,\ldots ,N.}

  • Точки x i {\displaystyle x_{i}} называют узлами интерполяции , а их совокупность - интерполяционной сеткой .
  • Пары (x i , y i) {\displaystyle (x_{i},y_{i})} называют точками данных или базовыми точками .
  • Разность между «соседними» значениями Δ x i = x i − x i − 1 {\displaystyle \Delta x_{i}=x_{i}-x_{i-1}} - шагом интерполяционной сетки . Он может быть как переменным, так и постоянным.
  • Функцию F (x) {\displaystyle F(x)} - интерполирующей функцией или интерполянтом .

Пример

1. Пусть мы имеем табличную функцию, наподобие описанной ниже, которая для нескольких значений x {\displaystyle x} определяет соответствующие значения f {\displaystyle f} :

X {\displaystyle x} f (x) {\displaystyle f(x)}

0
1 0,8415
2 0,9093
3 0,1411
4 −0,7568
5 −0,9589
6 −0,2794

Интерполяция помогает нам узнать, какое значение может иметь такая функция в точке, отличной от указанных точек (например, при x = 2,5).

К настоящему времени существует множество различных способов интерполяции. Выбор наиболее подходящего алгоритма зависит от ответов на вопросы: как точен выбираемый метод, каковы затраты на его использование, насколько гладкой является интерполяционная функция, какого количества точек данных она требует и т. п.

2. Найти промежуточное значение (способом линейной интерполяции).

6000 15.5
6378 ?
8000 19.2

15.5 + (6378 − 6000) 8000 − 6000 ∗ (19.2 − 15.5) 1 = 16.1993 {\displaystyle ?=15.5+{\frac {(6378-6000)}{8000-6000}}*{\frac {(19.2-15.5)}{1}}=16.1993}

В языках программирования

Пример линейной интерполяции для функции y = 3 x + x 2 {\displaystyle y=3x+x^{2}} . Пользователь может ввести число от 1 до 10.

Fortran

program interpol integer i real x, y, xv, yv, yv2 dimension x(10) dimension y(10) call prisv(x, i) call func(x, y, i) write(*,*) "enter number: " read(*,*) xv if ((xv >= 1).and.(xv xv)) then yv2 = ((xv - x(i)) * (y(i+1) - y(i)) / (x(i+1) - x(i))) + y(i) end if end do end subroutine

C++

int main() { system("COLOR 0A"); double ob, x1, x2, y1, y2, p1, p2, pi, skolko, status; system("echo Интерполяция X1 - X2 "); system("echo Ввести число: "); cin >> ob; system("echo Например 62, C1 = 60, L1 = 1.31, C2 = 80, L2 = 1.29"); cout > x1; cout > x2; cout > y1; cout > y2; p1 = y1 - x1; p2 = y2 - x2; pi = p2 / p1; skolko = ob - x1; status = x2 + (pi * skolko); cout

Способы интерполяции

Интерполяция методом ближайшего соседа

Простейшим способом интерполяции является интерполяция методом ближайшего соседа.

Интерполяция многочленами

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

  • Линейная интерполяция
  • Интерполяционная формула Ньютона
  • Метод конечных разностей
  • ИМН-1 и ИМН-2
  • Многочлен Лагранжа (интерполяционный многочлен)
  • Схема Эйткена
  • Сплайн-функция
  • Кубический сплайн

Обратное интерполирование (вычисление x при заданной y)

  • Полином Лагранжа
  • Обратное интерполирование по формуле Ньютона
  • Обратное интерполирование по формуле Гаусса

Интерполяция функции нескольких переменных

  • Билинейная интерполяция
  • Бикубическая интерполяция

Другие способы интерполяции

  • Рациональная интерполяция
  • Тригонометрическая интерполяция

Смежные концепции

  • Экстраполяция - методы нахождения точек за пределами заданного интервала (продление кривой)
  • Аппроксимация - методы построения приближённых кривых

Обратная интерполяция

на классе функций из пространства C2 , графики которых проходят через точки массива (xi, yi), i = 0, 1, . . . , m.

Решение. Среди всех функций, которые проходят через опорные точки (xi, f(xi)) и принадлежат упомянутому пространству, именно кубический сплайн S(x), удовлетворяющий краевым условиям S00(a) = S00(b) = 0, предоставляет экстремум (минимум) функционала I(f).

Часто на практике возникает задача о поиске по заданному значению функции значения аргумента. Эта задача решается методами обратной интерполяции. Если заданная функция монотонна, то обратную интерполяцию проще всего осуществить путем замены функции аргументом и наоборот и последующего интерполирования. Если заданная функция не монотонна, то этим приемом воспользоваться нельзя. Тогда, не меняя ролями функцию и аргумент, записываем ту или иную интерполяционную формулу; используя известные значения аргумента и, считая функцию известной, решаем полученное уравнение относительно аргумента.

Оценка остаточного члена при использовании первого приема будет такая же, как и при прямой интерполяции, только производные от прямой функции нужно заменить производными от обратной функции. Оценим ошибку второго метода. Если нам задана функция f(x) и Ln (x) - интерполяционный многочлен Лагранжа, построенный для этой функции по узлам x0, x1, x2, . . . , xn, то

f (x) − Ln (x) =(n + 1)! (x− x0) . . . (x− xn) .

Предположим, что нам надо найти значение x¯, при котором f (¯x) = y¯ (y¯ задано). Будем решать уравнение Ln (x) = y¯ . Получим некоторое значение x¯. Подставляя в предыдущее уравнение, получим:


Mn+1

f (x¯) − Ln (x¯) = f (x¯) − y¯ = f (x¯) − f (¯x) =

Применяя формулу Лангранжа, получим

(x¯ − x¯) f0 (η) =

где η находится между x¯ и x¯. Если - интервал, который содержит x¯ и x¯ и min

из последнего выражения вытекает:

|x¯ − x¯| 6m1 (n + 1)! |$n (x¯)| .

При этом, конечно, предполагается, что уравнение Ln (x) = y¯ мы решили точно.

Применение интерполяции для составления таблиц

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

Назад Первая Предыдущая Следующая Последняя Перейти Предметный указатель


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

R1 (x) =f00 (ξ)h2t(t − 1).

Здесь ξ принадлежит интервалу между двумя соседними табличными значениями аргумента, в котором находится x, а t заключен между 0 и 1. Произведение t(t − 1) принимает наибольшее по модулю

значение при t = 12.Это значение равняется14. Итак,

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

Назад Первая Предыдущая Следующая Последняя Перейти Предметный указатель


Предметный указатель

разделенные разности второго порядка, 8 первого порядка,8

сплайн, 15

узлы интерполяции, 4

Назад Первая Предыдущая Следующая Последняя Перейти Предметный указатель

/ Material_studentam_po_RGR_BZhD / Как выполнить интерполяцию

Формула для интерполяции табличных данных

Используется во 2-ом действии, когда количество НХР (Q, т) из условия имеет промежуточное значение между 100 т и 300 т.

(Исключение: если Q по условию равно 100 или 300 – то интерполяция не нужна).

y o - Ваше исходное количество НХР из условия, в тоннах

(соответствует букве Q)

y 1 меньшее

(из табл.11-16, как правило равно 100 ).

y 2 большее ближайшее к Вашему значение количества НХР, в тоннах

(из табл.11-16, как правило равно 300 ).

x 1 y 1 (x 1 расположено напротив y 1 ), км.

x 2 табличное значение глубины распространения облака зараженного воздуха (Г т), соответственно y 2 (x 2 расположено напротив y 2 ), км.

x 0 – искомое значение Г т соответствующее y o (по формуле).

Пример.

НХР – хлор; Q = 120 т;

Вид СВСП (степень вертикальной стойкости воздуха) – инверсия.

Найти Г т - табличное значение глубины распространения облака зараженного воздуха.

    Просматриваем таблицы 11-16 и находим данные соответствующие вашему условию (хлор, инверсия).

Подходит таблица 11.

    Выбираем значения y 1 , y 2, x 1 , x 2 . Важно – скорость ветра берем 1 м/с., температуру берем – 20 оС.

    Подставляем выбранные значения в формулу и находим x 0 .

Важно – расчет правильный, если x 0 будет иметь значение где-то междуx 1 , x 2 .

1.4. Интерполяционная формула Лагранжа

Предложенный Лагранжем алгоритм построения интерполирующих

функций по таблицам (1) предусматривает построение интерполяционного многочлена Ln(x) в виде

Очевидно, что выполнение для (10) условий (11) определяет выполнение условий (2) постановки задачи интерполяции.

Многочлены li(x) записываются следующим образом

Отметим, что ни один множитель в знаменателе формулы (14) не равен нулю. Вычислив значения констант сi, можно использовать их для вычисления значений интерполируемой функции в заданных точках.

Формула интерполяционного многочлена Лагранжа (11) с учётом формул (13) и (14) может быть записана в виде

qi (x − x0)(x − x1) K (x − xi −1)(x − xi +1) K (x − xn)

1.4.1.Организация ручных вычислений по формуле Лагранжа

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

На первом этапе рассмотрим алгоритм вычислений, выполняемых вручную. В дальнейшем эти же вычисления следует повторить в среде

Microsoft Excel или OpenOffice.org Calc.

На рис. 6 приведён пример исходной таблицы интерполируемой функции, определяемой четырьмя узлами.

Рис.6. Таблица, содержащая исходные данные для четырёх узлов интерполируемой функции

В третий столбец таблицы запишем вычисляемые по формулам (14) значения коэффициентов qi. Ниже приведена запись этих формул для n=3.


q0=Y0/(x0-x1)/(x0-x2)/(x0-x3)q1=Y1/(x1-x0)/(x1-x2)/(x1-x3)(16) q2=Y2/(x2-x0)/(x2-x1)/(x2-x3)q3=Y3/(x3-x0)/(x3-x1)/(x3-x2)

Следующим шагом в реализации ручных вычисления являются вычисления значений li(x) (j=0,1,2,3), выполняемые по формулам (13).

Запишем эти формулы для рассматриваемого нами варианта таблицы с четырьмя узлами:

l0(x)=q0(x-x1)·(x-x2)·(x-x3),

l1(x)=q1(x-x0)·(x-x2)·(x-x3),

l2(x)=q2(x-x0)·(x-x1)·(x-x3),(17) l3(x)=q3(x-x0)·(x-x1)·(x-x2).

Вычислим значения многочленов li(xj) (j=0,1,2,3) и запишем их в ячейки таблицы. Значения функцииYрасч(x), согласно формуле (11) будут получены в результате суммирования значенийli(xj) по строкам.

Формат таблицы, включающей столбцы вычисленных значений li(xj) и столбец значенийYрасч(x), показан на рис.8.

Рис. 8. Таблица с результатами ручных вычислений, выполненных по формулам (16), (17) и (11) для всех значений аргумента xi

Выполнив формирование таблицы, приведённой на рис. 8, по формулам (17) и (11) можно вычислить значение интерполируемой функции для любого значения аргумента Х. Например, дляХ=1 вычисляем значенияli(1) (i=0,1,2,3):

l0(1)= 0,7763; l1(1)= 3,5889; l2(1)=-1,5155;l3(1)= 0,2966.

Суммируя значения li(1) получим значениеYинтерп(1)=3,1463.

1.4.2. Реализация алгоритма интерполяции по формулам Лагранжа в среде программы Microsoft Excel

Реализация алгоритма интерполяции начинается, как и при ручных вычислениях с записи формул для вычисления коэффициентов qi На рис. 9 приведена столбцы таблицы с заданными значениями аргумента, интерполируемой функции и коэффициентовqi. Справа от этой таблицы приведены формулы, записываемые в ячейки столбцаС для вычисления значений коэффициентовqi.

вС2: "=B2/((A2-A3)*(A2-A4)*(A2-A5))"Æ q0

вС3: "=B3/((A3-A4)*(A3-A5)*(A3-A2))"Æ q1

вС4: "=B4/((A4-A5)*(A4-A2)*(A4-A3))"Æ q2

вС5: "=B5/((A5-A2)*(A5-A3)*(A5-A4))"Æ q3

Рис. 9 Таблица коэффициентов qi и вычислительные формулы

После ввода формулы q0 в ячейку С2 она протягивается по ячейкам от С3 до С5. После чего формулы в этих ячейках корректируются в соответствии с (16) к виду, приведённому на рис. 9.


Yрасч(xi),

Реализуя формулы (17), запишем формулы для вычисления значений li(x) (i=0,1,2,3) в ячейки столбцов D, E, F и G. В ячейкуD2 для вычисления значенияl0(x0) запишем формулу:

=$C$2*($A2-$A$3)*($A2-$A$4)*($A2-$A$5),

получим значения l0 (xi) (i=0,1,2,3).

Формат ссылки $A2 позволяет протянуть формулу по столбцамE, F, G для формирования вычислительных формул для вычисленияli(x0) (i=1,2,3). При протягивании формулы по строке индекс столбца аргументах не меняется. Для вычисленияli(x0) (i=1,2,3) после протягивания формулыl0(x0) необходимо выполнить их корректировку по формулам (17).

Встолбце Н поместим формулы Excel для суммированияli(x) по формуле

(11)алгоритма.

На рис. 10 показана таблица, реализованная в среде программы Microsoft Excel. Признаком правильности записанных в ячейки таблицы формул и выполненных вычислительных операций являются полученная диагональная матрица li(xj) (i=0,1,2,3),(j=0,1,2,3),повторяющая результаты, приведённые на рис. 8, и столбец значений совпадающих со значениями интерполируемой функции в узлах исходной таблицы.

Рис. 10. Таблица значений li(xj) (j=0,1,2,3) иYрасч(xj)

Для вычисления значений в некоторых промежуточных точках достаточно

вячейки столбца А, начиная с ячейкиА6, ввести значения аргументаХ, для которых требуется определить значения интерполируемой функции. Выделить

впоследней (5-й)строке таблицы ячейки отl0(xn) доYрасч(xn) и протянуть формулы, записанные в выделенных ячейках до строки, содержащей последнее

заданное значение аргумента х.

На рис. 11 приведена таблица, в которой выполнены вычисления значения функции в трёх точках: х=1, х=2 и х=3. В таблицу введён дополнительный столбец с номерами строк таблицы исходных данных.

Рис. 11. Вычисление значений интерполируемых функции по формулам Лагранжа

Для большей наглядности отображения результатов интерполяции построим таблицу, включающую столбец упорядоченных по возрастанию значений аргумента Х, столбец исходных значений функцииY(X) и столбец

Подскажите как использовать формулу интерполяции и какую в решении задач по термодинамике (теплотехнике)

Иван шестакович

Самое простое, но и часто не достаточно точная интерполяция - это линейная. Когда у тебя есть уже две известные точки (Х1 У1) и (X2 Y2) а надо найти значения У дня некоторого Х который находится между Х1 и Х2. Тогда формула проста.
У=(У2-У1)*(Х-Х1)/(Х2-Х1)+У1
Кстати эта формула работает и при значениях Х вне пределов промежутка Х1..Х2, но это уже называется экстрополяцией и при значительном расстоянии от этого промежутка дает очень большую погрешность.
Есть много других мат. методов интерполяции - советую почитать учебник или порыться и инете.
Не исключен так же метод графической интерполяции - в ручную нариовать график через известные точки и для требуемго Х находить из графика У. ;)

Роман

У тебя есть два значения. И примерно зависимость (линейтная, квадратичная, ..)
График этой функции проходит через твои две точки. Тебе нужно значение где-то между. Ну и выражаешь!
Например. В таблеце при температуре 22 градуса давление насыщеных паров 120000 Па, а при 26 124000 Па. Тогда при температуре 23 градуса 121000 Па.

Интерполяция (координат)

Есть сетка координат на карте (изображении).
На ней есть некоторые известные опорные точки (n>3), имеющие по два значения x,y - координаты в пикселах, и координаты в метрах.
Необходимо найти промежуточные значения координат в метрах, зная координаты в пикселах.
Линейная интерполяция не подходит - слишком большая погрешность за пределами линии.
Вот так: (Xc - коорд. в метрах по ох, Xp - коорд. в пикселах по ох, Xc3 - искомое значение по ох)
Xc3= (Xc1-Xc2)/(Xp1-Xp2)*(Xp3-Xp2)+Xc2
Yc3= (Yc1-Yc2)/(Yp1-Yp2)*(Yp3-Yp2)+Yc2

Как найти такую же формулу для нахождения Xc и Yc, учитывая не две (как тут), а N известных опорных точек?

Joka fern lowd

Судя по выписанным формулам, оси систем координат в пикселах и в метрах совпадают?
То есть независимо интерполируется Xp -> Xc и независимо Yp -> Yc. Если нет, то надо использовать двумерную интерполяцию Xp,Yp->Xc и Xp,Yp->Yc, что несколько усложняет задачу.
Далее подразумевается, что координаты Xp и Xc связаны некоторой зависимостью.
Если характер зависимости известен (или предполагается, например, предполагаем, что Xc=a*Xp^2+b*Xp+c), то можно получить параметры этой зависимости (для приведенной зависимости a, b, c) с помощью регрессионного анализа (Метод наименьших квадратов) . В этом методе, если задаться определенной зависимостью Xc(Xp) можно получить формулу для параметров зависимости от опорных данных. Этот метод позволяет, в частности, найти и линейную зависимость, наилучшим образом удовлетворяющую данному набору данных.
Недостаток: В этом методе координаты Xc, полученные по данным опорных точек Xp, могут отличаться от заданных. Как например, аппроксимационная прямая проведенная по экспериментальным точкам, не проходит точно через сами эти точки.
Если же требуется точное соответствие и характер зависимости неизвестен, нужно использовать интерполяционные методы. Простейшим математически является интерполяционный полином Лагранжа, точно проходящий через опорные точки. Однако в силу высокой степени этого полинома при большом числе опорных точек и плохого качества интерполяции, лучше его не использовать. Преимуществом является сравнительно простая формула.
Лучше использовать интерполяцию сплайнами. Суть этого метода в том, что на каждом участке между двумя соседними точками, исследуемая зависимость интерполируется полиномом, а в точках сшивки двух интервалов записываются условия гладкости. Преимуществом этого метода является качество интерполяция. Недостатками -- практически невозможно вывести общую формулу, приходится находить коэффициенты полинома на каждом участке алгоритмически. Другим недостатком является сложность обобщения на двумерную интерполяцию.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: