русс | укр

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

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

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

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


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

Для равноотстоящих узлов интерполяции


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


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

F(x) = Pn(x) = a0 + a1(xx0) + a2(xx0)(xx1) +

+ a3(xx0)(x- x1)(x-x2) + ... + an(xx0)(x- x1)(x-x2)…(xxn-1), (3)

 

при этом неизвестные значения коэффициентов a0, a1, a2, …, an вычисляют по формуле

(i = 0, 1, 2, …, n), (4)

то есть

при i = 0 , [0!=1, Δ0y0 = y0],

при i = 1 = ,

при i = 2 = , и т. д.

 

Обратите внимание, что . (5)

 

После подстановки найденных коэффициентов ai в выражение (3), получают первую интерполяционную формулу Ньютона:

 

(6)

 

Пример.

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

 

Таблица 1

xi yi
8,5
10,5
12,0
13,5
14,5
15,5

 

 

Решение.

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

F(x) = Pn(x) = a0 + a1(xx0) + a2(xx0)(xx1) + a3(xx0)(x- x1)(x-x2) +

+ a4(xx0)(x- x1)(x-x2)(xx3) + a5(xx0)(x- x1)(x-x2)(xx3) (x-x4) (7)

или

(8)

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

 

Режим вычислений

 

Рис. 1

В верхнюю часть таблицы следует ввести исходные данные: значение шага интерполяции h, который по условию равен 1, значения аргумента x и соответствующие им значения функции f(x), а также значение аргумента x=2,5, для которого требуется вычислить значение заданной функции, с помощью построенного интерполяционного многочлена.



Реализация вычисления конечных разностей выполняется, как показано в таблице. Значения конечных разностей и значение f(x0), которые будут использованы в вычислениях по формуле (2), выделены в таблице полужирным начертанием. Правильность полученных конечных разностей подтверждают результаты вычислений, выполненные по формуле (2) (в ячейках D11 и С12, Е11 и D12 и т.д.).

Вычисление коэффициентов интерполяционной формулы (7) целесообразно выполнять, используя свойство (5)

,

а именно:

i = 0

i = 1

i = 2 (9)

i = 3

I = 4

i = 5 = .

 

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

В блоке ячеек D16:D20 вычисляются значения коэффициентов интерполяционного многочлена a0, a1, …, a5 (8), путем умножения значений f(x0), и конечных разностей, полученных в блоке С5: H5 на соответствующие им значения промежуточных коэффициентов (В16:В20).

В соответствии с (7), каждый коэффициент a1, a2, a3, a4, a5 соответственно требуется умножить на (xx0), (xx0)(x- x1), (xx0)(x- x1)(x-x2), (xx0)(x- x1)(x-x2)(xx3) (x-x4). Поэтому в блоке ячеек I5: I10 предусмотрено вычисление значений (x-xi), которые затем используются для вычисления их произведений в блоке Н16:Н20, причем каждый последующий элемент получается из предыдущего.

В блоке ячеек I15: I20 выполняется вычисление значений каждого члена интерполяционного многочлена, просуммировав которые получается значение интерполяционного многочлена для x=2,5.

Таким образом, получено выражение интерполяционного многочлена:

 

F(x) = P5(x) = 8,5 + 2(x-0) - 0,25(x-0)(x-1) + 0,08(x-0)(x-1)(x-2) –

-0,04(x-0)(x-1)(x-2)(x-3) + 0,02(x-0)(x-1)(x-2)(x-3)(x-4). (10)

 

Коэффициенты многочлена, полученные при ручном счете по формуле (9), совпадают со значениям коэффициентов, полученными в Excel (см. столбец D15:D20).

Значение F(2,5) = 12,78 (получено в ячейке I21). Подставив значение x = 2,5в (10), получим:

F(2,5) = P5(2,5) = 8,5 + 2(2,5-0) - 0,25(2,5-0)(2,5-1) + 0,08(2,5-0)(2,5-1)(2,5-2) –

-0,04(2,5-0)(2,5-1)(2,5-2)(2,5-3)+0,02(2,5-0)(2,5-1)(2,5-2)(2,5-3)(2,5-4) = 12,78.

Значение F(x) при x =2,5 при ручном счете и вычислениями в Excel совпадают.

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

Режим формул

Рис. 2.

При использовании электронных таблиц не представляет сложности вычисление значений многочлена для других значений х. Для этого достаточно в ячейке I2 изменить значение х, и мгновенно получим новое значение многочлена. Так же быстро можно изменить исходные значения аргумента х и соответствующие им значения функции y. Для этого в блоки ячеек В5:В10 и С5:С10 – следует ввести новые значения.

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

 



<== предыдущая лекция | следующая лекция ==>
Основные теоретические положения | Аналитический метод отделения корней


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


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

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

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


 


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

 
 

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

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