Материал: Larin_Anton_8383_cm_21_9

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

МИНОБРНАУКИ РОССИИ САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ

ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ «ЛЭТИ» ИМ. В.И. УЛЬЯНОВА (ЛЕНИНА)

Кафедра математического обеспечения и применения ЭВМ

ОТЧЕТ по практической работе №9

по дисциплине «Вычислительная математика» Тема: Самостоятельная разработка программы на одном из языков

программирования

Студент гр. 8383

 

Ларин А.

Преподаватель

 

 

Сучков А.И.

Санкт-Петербург

2019

Цель работы.

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

Основные теоретические положения.

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

. Однако на практике часто неизвестна связь между и , т.е. невозможно записать эту связь в виде некоторой зависимости = ( ). В других случаях при известной зависимости = ( ) ее использование в практических задачах затруднительно (например, она содержит сложные, трудно вычисляемые выражения). Наиболее распространенным и важным для практического использования случаем, когда вид связи между параметрами и неизвестен,

является задание этой связи в виде некоторой таблицы { , }, в которой дискретному множеству значений аргумента { } поставлено в соответствие множество значений функции { } ( = 0, ). Эти значения – либо результаты расчетов, либо экспериментальные данные. На практике могут понадобиться значения величины и в других точках, отличных от узлов . Таким образом,

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

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

( ) = ∑ .

=0

2

Этот случай, т.е. приближение многочленами, является одной из задач классического численного анализа.

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

{ }, то аппроксимация называется точечной. Одним из основных типов точечной аппроксимации является интерполирование, которое заключается в следующем: для данной функции строится многочлен ( ), принимающий в заданных точках те же значения , что и функция ( ), т.е. ( ) = , = 0, . При данной постановке задачи предполагается, что среди значений нет одинаковых: при ≠ . Точки называются узлами интерполяции, а

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

том, что их значения совпадают на заданной системе точек (узлов).

Максимальная степень интерполяционного многочлена = . В этом случае говорят о глобальной интерполяции, так как один многочлен ( ) = ∑=0

используется для интерполяции функции ( ) на всем рассматриваемом интервале изменения аргумента . Коэффициенты многочлена ( ) находят из системы уравнений ( ) = . Можно показать, что при ≠ ( ≠ ) эта система имеет единственное решение.

Возможны два случая задания функции y=f(x):

точки располагаются на оси абсцисс неравномерно на различных расстояниях одна от другой – случай неравноотстоящих узлов;

точки располагаются на оси абсцисс равномерно с фиксированным шагом – случай равноотстоящих узлов.

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

применяются различные интерполяционные формулы.

Интерполяционные формулы для неравноотстоящих узлов.

3

 

 

Пусть известны значения некоторой функции в + 1 различных точках

 

 

 

 

 

 

 

, , … , , которые обозначим следующим образом:

 

= ( ), = 0, .

0

1

 

 

 

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

принимает заданные значения, т.е.

( ) = , = 0, .

Следует заметить, что если точка расположена вне минимального отрезка, содержащего все узлы интерполяции ( = 0, ), то замену функции

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

удовлетворяющий условиям выше:

( ) = ∑ ℓ ( ),

=0

где

ℓ ( ) = ∏ .−

=0

Данный интерполяционный многочлен, называется интерполяционным многочленом Лагранжа, а функции ℓ ( ) – лагранжевыми коэффициентами или базисными полиномами. Для оценки погрешности интерполяции (в частности, и

экстраполяции) в текущей точке [ , ] ([ , ] – отрезок, содержащий все узлы интерполяции и точку ) можно использовать соотношение

| ( ) − ( )| ( +1) |∏( − )|,+ 1 ! =0

где +1 = max | ( +1)( )| – наибольшее абсолютное значение ( + 1)-

[ , ]

ой производной интерполируемой функции в некоторой точке [ , ].

4

Оценить максимальную погрешность интерполяции на всем отрезке [ , ]

можно с помощью соотношения

 

 

 

 

 

 

 

 

 

max

| ( ) − ( )|

+1

max |∏( − )|

 

 

 

 

 

 

 

 

[ , ]

 

( + 1)! [ , ] =0

 

Использование оценок погрешностей предполагает ограниченность ( +

1)-ой производной интерполируемой функции на отрезке [ , ], т.е.

< ∞.

 

 

 

+1

 

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

Интерполяционный многочлен Ньютона для неравноотстоящих узлов интерполяции имеет вид:

−1

( ) = 0 + ( − 0) ( 0; 1) + + (∏( − ) ) ( 0; 1; … ; ),

=0

где ( 0; 1; … ; ) – разделённая разность -го порядка.

Вычисление разделённых разностей производится по соотношениям:

( 0; 1) = ( 1) − ( 0),1 0

( 0; 1; … ; ) = ( 1; 2; … ; ) − ( 0; 1; … ; −1).− 0

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

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

5