МИНОБРНАУКИ РОССИИ САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ
ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ «ЛЭТИ» ИМ. В.И. УЛЬЯНОВА (ЛЕНИНА)
Кафедра математического обеспечения и применения ЭВМ
ОТЧЕТ по практической работе №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