русс | укр

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

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Интерполяционный полином Ньютона


Дата добавления: 2015-01-16; просмотров: 796; Нарушение авторских прав


Полином Ньютона для интерполяции имеет вид:

Nn(x)=A0+A1(xx0)+A2(xx0)(xx1)+...+An(xx0)(xx1)...(xxn-1)=
= (*)

Равносильный вариант полинома можно получить при симметричной перенумерации узлов и значений функции в исходной таблице от n до 0:

Nn(x)=Bn+Bn-1(xxn)+Bn-2(xxn)(xxn-1)+...+
+B0(xxn)(xxn-1)...(xx1)= .

Коэффициенты полиномов определяются из условий Лагранжа

Nn(xj)=f(xj), 0≤jn

Полагаем x=x0, тогда в формуле (*) все слагаемые, кроме A0, обращаются в нуль и A0=f(x0).

Затем полагаем x=x1, тогда f0+A1(x1-x0)=f1, откуда находим коэффициент

A1=(f(x0)–f(x1))/(x0x1)=f01,

который называется разделенной разностью первого порядка. Величина этой разности близка к первой производной функции f(x) при малом расстоянии между узлами x0 и x1.

При x=x2 полином принимает значение

Nn(x2)=f(x0)+A1(x2x0)+A2(x2x0)(x2x1),

из условия Лагранжа определим искомый коэффициент

A2=(f01f02)/(x1x2)=f012, где f02=(f(x0)–f(x2))/(x0x2).

Величина f012 называется разделенной разностью второго порядка, которая при близком расположении x0, x1, x2 будет пропорциональна второй производной функции f(x).

Аналогично при x=x3 находим коэффициент А3:

A3=(f012f013)/(x2x3)=f0123,
где f013=(f01f03)/(x1x3), f03=(f(x0)–f(x3))/(x0x3).

Для коэффициента Ak методом математической индукции запишем следующее выражение:

Ak=(f01...k-1f01...k)/(xk-1xk).

Полученные результаты сведем в таблицу:

x f(x) 1 2 3 4
x0 f(x0)        
x1 f(x1) f01=      
x2 f(x2) f02= f012=    
x3 f(x3) f03= f013= f0123=  
x4 f(x4) f04= f014= f0124= f01234=

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



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

Погрешность полиномиальной аппроксимации функции f(x) определяется соотношением:

.

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

Поэтому правая часть приведенного неравенства приближенно совпадает по модулю с новым членом полинома Ньютона, появляющимся при добавлении (n+1)-го узла. Таким образом, вычисление модуля каждого из членов суммы (*) позволяет установить, сколько узлов следует использовать для аппроксимации исходной функции с заданной точностью. Если узлы расположены равномерно с шагом h, то наименьшая погрешность будет в интервалах, примыкающих к центральному узлу, за счет минимальной величины произведения в правой части оценки погрешности. Особенно резко возрастает погрешность при попытках экстраполяции.

В центральном интервале оценка погрешности может быть получена по:

|f(x)-Nn(x)|<

После определения коэффициентов полинома Ньютона вычисление его значений при конкретных аргументах x наиболее экономично проводить по схеме Горнера, получаемой последовательным вынесением за скобки множителей (xxj) в формуле (*):

Nn(x)=f0+(xx0)(f01+(xx1)(f012+(xx2)(f0123+...)...).

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



<== предыдущая лекция | следующая лекция ==>
Метод интерполяции Лагранжа | Интерполяция сплайнами


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.446 сек.