Интерполирование функций

 

Интерполяция применяется во многих задачах, связанных с вычислениями. Укажем некоторые из этих задач.

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

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

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

Интерполяция применяется также в задаче обратного интерполирования: задана таблица уi = y(xi); найти хi как функцию от уi. Примером обратного интерполирования может служить задача о нахождении корней уравнения.

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

В общем случае при постановке задачи приближения нужно следовать по алгоритму:

- определить какой класс приближенных функций нужно выбрать;

- выбрать критерий близости («согласия») исходной и приближающей функции (совпадение в узловых точках – метод Лагранжа, или метод наименьших квадратов);

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

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

Пусть на отрезке а £ x £ b задана сетка ω ={х0 = а < х1 <¼< хn = b } и в ее узлах заданы значения функции у (х), равные у (х0) = у0, …, у(хi) = уi, …, у(хn) = уn. Требуется построить интерполянту– функцию f(х), совпадающую с функцией у(х) в узлах сетки:

f (xi) = yi, i = 0, 1, …, n (3.1)

Основная цель интерполяции – получить быстрый (экономичный) алгоритм вычисления значений f(x) для значений х, не содержащихся в таблице данных.

Основной вопрос: как выбрать функцию - интерполянту f(х) и оценить погрешность у(х) - f(х)?

Интерполирующие функции f(х), как правило, строятся в виде линейных комбинаций некоторых элементарных функций:

f(x) = ,

где {Ф (х)} - фиксированные линейно независимые функции;

с0, с1, …, сn - не определенные пока коэффициенты.

Из условий (3.1) получим систему n+1 уравнений относительно коэффициентов {с }:

Предположим, что система функций Ф (х) такова, что при любом выборе узлов а = х0< х1 < …< хn = b отличен от нуля определитель системы:

Тогда по заданным уi (i = 0,1,…, n ) однозначно определяются коэффициенты с ( = 0, 1, …, n).

В качестве системы линейно независимых функций {Ф (х)} чаще всего выбирают: степенные функции Ф (х) = х (в этом случае f = Pn (x) – полином степени n ); тригонометрические функции { Ф (х) = соs kх, sin kx} (в этом случае f - полином тригонометрический). Используются также рациональные функции

и другие виды интерполирующих функций.

Рассмотрим полиномиальную интерполяцию.

Известно, что любая непрерывная на отрезке [а, b] функция f(x) может быть хорошо приближена некоторым полиномом Рn(х).

Будем искать интерполяционный полиномв виде

Рn(x) = ( 3.2 )

где с - неопределенные пока коэффициенты.

Полагая f (xi) = yi, получим систему линейных уравнений вида

 

с01 х0+…+сnх0n= y0,

с01 х1+…+сnх1n= y1,

…………………..…,

с01 хn+…+сnхnn= yn.

Определитель этой системы отличен от нуля, т.е. полином вида (3.2) существует и единственен. Форм записей такого полинома существует множество.

В качестве базиса {Ф (х)} мы взяли базис из одночленов 1, х, х2, …, хn. Для вычислений более удобным является базис полиномов Лагранжа {l (x)} степени n или коэффициентов Лагранжа:

 
 


l (xi) = 1, если i = k,

0, если i ≠ k , i, k = 0, 1, …, n.

 

Нетрудно видеть, что полином степени n

l (x) = l (x) =

удовлетворяет этим условиям. Полином l (x), очевидно, определяется единственным образом.

Полином l (x) y принимает значение у в точке х и равен нулю во всех остальных узлах х при j ¹ k. Отсюда следует, что интерполяционный полином

Рn(x) = (3.3)

имеет степень не выше n и Рn (xi) = yi. Формулу (3.3) называют формулой Лагранжа. К достоинствам формулы можно отнести то, что число арифметических действий для вычисления пропорционально n2.

Для оценки близости полинома Рn(х) к функции f(х) предполагают, что существует (n+1)-я непрерывная производная f(n+1) (х).








Дата добавления: 2017-09-19; просмотров: 1010;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.009 сек.