- •Вычисление конечных сумм функционального и числового ряда.
- •Численные методы решения нелинейных уравнений.
- •4. Метод хорд.
- •Интерполирование функций.
- •3. 3. Краткие сведения из теории и примеры решения задач.
- •2. Квадратичная интерполяция.
- •3 . Интерполирование многочленом степени n-1
- •3. 3. 2. Форма Ньютона.
2. Квадратичная интерполяция.
( x - xi2)(x - xi3) ( x - xi1)(x - xi3) ( x - xi1)(x - xi2)
у= yi1 ------------------- + yi2 ------------------- + yi3 -------------------;
(xi1 - xi2)(xi1 - xi3) ( xi2 - xi1)(xi2 - xi3) ( xi3 - xi1)(xi3 - xi2)
где
xi1, xi2, xi3 - ближайшие к х узловые точки ( рис. 15 ).
Квадратичная интерполяция осуществляется по трем ближайшим точкам.
Пример.
1. х [ x1, x3 ],
( x - xi2)(x - xi3) ( x - xi1)(x - xi3) ( x - xi1)(x - xi2)
у= yi1 ------------------- + yi2 ------------------- + yi3 -------------------;
(xi1 - xi2)(xi1 - xi3) ( xi2 - xi1)(xi2 - xi3) ( xi3 - xi1)(xi3 - xi2)
2. х [ x1, x3 ],
( x - xi2)(x - xi3) ( x - xi1)(x - xi3) ( x - xi1)(x - xi2)
у= yi1 ------------------- + yi2 ------------------- + yi3 -------------------;
(xi1 - xi2)(xi1 - xi3) ( xi2 - xi1)(xi2 - xi3) ( xi3 - xi1)(xi3 - xi2)
Рис. 15
3 . Интерполирование многочленом степени n-1
Интерполирование многочленом степени n-1 производите по n экспериментальным точкам (рисунок 16). Интерполирование будет осуществляться по формуле (1).
Блок-схема алгоритма представлена на рисунке 17.
Основные обозначения:
x и у - массивы размерностью N;
N - число узловых точек;
x0 - значение х, при котором необходимо найти интерполированное значение функции;
у0 - значение функции, вычисленное в точке х0.
Рис. 16.
3. 3. 2. Форма Ньютона.
Определение. Пусть х1, х2, ... , хN - произвольные точки (узлы), причем xi xj при i j.
Значения y1, y2, ... , yn функции у в узлах называются разделенными разностями нулевого порядка и обозначаются как [xi], где i=1,N.
Рис.17
[ x1] = y1
[ x2] = y2
. . . ___
[ xn] = yn [ xi] = yi i = 1, n .
y(x2)-y(x1) y2-y1
Число y( x1 ; x2) = y( x2 ; x1) = ------------- = ------
x2-x1 x2-x1
называется разделееной разностью первого порядка функции у и обозначается [ x1 ; x2 ] = [ x2 ; x1 ]. В общем виде
y(xi)-y(xi-1) yi-yi-1
y ( xi-1 ; xi ) = y ( xi ; xi-1 ) =------------- = -------
xi-xi-1 xi-xi-1
___
где i =1, n
Число
1 y3-y2 y2-y1
y ( x1 ; x2 ; x3 ) = ------- (-------- - -------- )
x3-x1 x3-x2 x2-x1
называются разделенной разностью второго порядка функции у и обозначаются [ x1 ; x2 ; x3 ] . В общем виде
1 yi-yi-1 yi-1-yi-2
y ( xi-2 ; xi-1 ; xi ) = ------- (--------- - ---------- )
xi-xi-2 xi-xi-1 xi-1-xi-2
___
где i =1, n
Разделенная разность k-го порядка определяется через разделенные разности ( k - 1) -го порядка по рекуррентной формуле ;
y ( x2 ; x3 ; x4 ;… ; xk+1) - y ( x1 ; x2 ; x3 ;… ; xk.)
y ( x1 ; x2 ;… ; xk+1) = ---------------------------------------------------
_____ xk+1 - x1
k = 1, n-1
или
[ x2 ; x3 ; x4 ;… ; xk+1] - [ x1 ; x2 ; x3 ;… ; xk.]
[ x1 ; x2 ;… ; xk+1] = -----------------------------------------------
xk+1 - x1
Например , k = 1
[ x2 ] - [ x1] y2 - y1
y ( x1 ; x2 ) = --------------- = ----------
x2 -x1 x2 - x1
Лемма. Пусть x1, x2, …, xn произвольные попарно несовподающие узлы, в которых известны значения функции y1, y2, …, yn. Алгебраический многочлен ( n - 1)-й степени
ln-1(x) = y(x1) + (x - x1) y( x1 ; x2 ) + (x - x1)(x - x2) y( x1 ; x2 ; x3) +
… +(x - x1)(x - x2)… (x - x1)(x - x2)… (x - xn-1) y(x1 ; x2 ; x3 ;… ; xn) (2)
является интерполяционным, т. е.
____
ln-1(xi) = y (xi), i = 1, n.
Так как разделенные разности y(x1), y(x1 ; x2), …, y ( x1 ; x2 ;… ; xn) это вполне определенные числа то функция (2) является многочленом (n-1)-й степени. Многочлен (2) называется интерполяционным многочленом Ньютона для неравных промежутков. Согласно утверждению, существует только один интерполяционный многочлен, интерполяционный многочлен Лагранжа тождественно совпадает с интерполяционным многочленом Ньютона, т,е,
ln-1(x) Fn-1(x).
У интерполяционного многочлена Лагранжа видна явная его зависимость от каждого значения функции yi, где i = 1, n. Это во многих случаях бывает полезно. Однако при изменении n интерполяционный многочлен Лагранжа требуется строить заново. В этом состоит его недостаток, Интерполяционный многочлен Ньютона (2) выражается не через значения функции y, а через ее разделенные разности,
При изменении степени n требуется у интерполяционного многочлена Ньютона требуется добавить или отбросить соответствующие число стандартных слагаемых, Это удобно на практике и ускоряет процесс вычислений, Интерполяционный многочден Ньютона можно записать в виде
n
ln-1(x) = Ci Ni (x) , где
i=1
___
Ni(x) = (x - x1)(x - x2)(x - x3)… (x - xi-1) ; i = 2,n ;
N1(x) = 1 ;
Ci = [ x1 ; x2 ;… ; xi ] ;
___
[ xi ] = yi ; i = 1,n ;
1
[ x1 ; x2 ;… ; xi ] = ------- ( [ x2 ;… ; xi ] - [ x1 ;… ; xi-1]).
xi-x1
При вычислениях разделенные разности записываются в виде таблицы 4,
Таблица 4,
xi |
[xi] |
[xi xi+1] |
[xi;xi+1;xi+2] |
[xi;xi+1;xi+2;xi+3] |
[xi;xi+1;xi+2;xi+3;xi+4] |
x1 |
y(x1) |
|
|
|
|
|
|
y(x1;x2) |
|
|
|
x2 |
y(x2) |
|
y(x1;x2;x3) |
|
|
|
|
y(x2;x3) |
|
y(x1;x2;x3;x4) |
|
x3 |
y(x3) |
|
y(x2;x3;x4) |
|
y(x1;x2;x3;x4;x5) |
|
|
y(x3;x4) |
|
y(x2;x3;x4;x5) |
|
x4 |
y(x4) |
|
y(x3;x4;x5) |
|
|
|
|
y(x4;x5) |
|
|
|
x5 |
y(x5) |
|
|
|
|
Программа использует следующие переменные :
Х0 - аргумент, при котором необходимо вычислить значение функции ;
(N-1) - степень многочлена ;
N - число экспериментальных данных ;
X(N),Y(N) - массивы, i = 1,N.
Замечание :
Разделенные разности помещаются в массив Y.
I,K - параметры циклов ;
L - значение многочленов в точке Х0 ;
P и I1 - рабочие переменные.
Блок-схема алгоритма представлена на рисунке 18,
3. 3. 3. Погрешность интерполяции.
Если функция (x), подлежащая интерполяции, достаточное число дифференцируема, то можно вывести формулу для определения погрешности интерполяции, Оценка максимальной погрешности интерполяции на всем отрезке [ a ; b ] :
Mn
max | (x) - Fn-1(x) | ---- max | Wn-1(x) | ;
[a,b] n!
Mn = max | (n)(x) | < ;
[a,b]
Wn-1(x) = (x-x1)(x-x2)… (x-xn-1).
Рис. 18
3. 3. 4. Многоинтервальная интерполяция.
Многоинтервальная интерполяция заключается в интерполяции y(x) в ряде частичных интервалов ( ограниченых двумя узлами или группой узлов ) отдельными полиномами невысокой степени. Такая интерполяция может применяться при широком общем отрезке [ a ; b ] , когда обычная интерполяция полиномом высокой степени дает большую погрешность и ведет к большему времени вычислений. Заметим также, что по виду
полинома и значениям его коэффицентов трудно судить о виде зависимости y(x).
Сплайн - интерполяция.
Сплайн-интерполяция - есть специальный вид многоинтервальной интерполяции.
Определение. Пусть отрезок [ a ; b ] разбит на ( N-1 ) равных частичных отрезков
[ xi, xi+1 ], где
xi = a + ( i-1 ) h , i = 1, 2.,…, N-1, xN = b ; x1 = a ;
h = ( b - a ) / ( N-1 ).
Сплайном называется функция, которая вместе с несколькими производными непрерывна на всем заданном отрезке [ xi ; xi+1 ] в отдельности является некоторым алгебраическим многочленом.
Максимальная по всем частичным отрезкам степень многочленов называется степенью сплайна, а разность между степенью сплайна и порядком наивысшей непрерывной на [ a, b] производной - дефектом сплайна,
Например, непрерывная кусочно - линейная функция ( рисунок 19 ) ( ломаная ) является сплайном первой степени с дефектом, равном единице, т.к. непрерывна только сама функция ( нулевая производная ), а первая производная уже разрывна.
На практике наиболее широкое применение получили сплайны третьей степени, имеющие на [ a, b ] непрерывную, по крайней мере , первую производную.
Эти сплайны называются кубическими и обозначаются через S3(x). Величина mi = S’3(xi) называется наклоном сплайна в точке ( узле ) xi. В общем случае сплайн задается глобальным способом, т.е. с использованием всех узлов при любом их расположении. Рассмотрим кубический сплайн, заданный локальным способом. Это задание реализуется сравнительно просто и требует существенно меньшего объема памяти ЭВМ, чем при глобальном способе задания.
Кубический сплайн, заданный локально - это интерполирующая функция в виде полинома третьей степени, вычисляемая по формулам :
i = int (( b-a ) / h ) ;
h = ( b-a ) / ( N-1) ;
(xi+1-x)2(2(x-xi)+h) (x-xi)2(2(xi+1-x)+h)
S3(x)= ----------------------- yi + ----------------------- yi+1 +
h3 h3
(xi+1-x)2(x-xi) (x-xi)2(x-xi+1)
+ ----------------- mi + ---------------- mi+1 ,
h2 h2
где mi , mi+1 --первые производные S3(x).
Производные локального сплайна могут задаваться двумя способами.
Способ 1. Производные mi и mi+1 вычисляются с помощью формул численного дифференцирования по трем точкам:
mi=(yi+1-yi-1)/2h , i=2 , ... , n-1 ;
mi=(4y2-y3-3y1)/2h , i=1 ;
mn=(3yn+yn-2-4yn-1)/2h , i=n .
Способ удобен тем, что для задания сплайна требуется вводить лишь ординаты yi (значения mi вычисляются программой). Для уменьшения времени многократных вычислений y(x) желательно предварительно вычислить массив mi и хранить его в памяти ЭВМ.
Способ 2. Значения mi (вычесленные отдельно или полученные из графика как наклоны его в узлах) задаются непосредственно в виде массива mi.
Блок-схема алгоритма представлена на рисунке 20.
Примечание. Вввод данных и вывод результата осуществить с соответствующими коментариями.
Например:
а) 20 PRINT “ВВЕДИТЕ ЗНАЧЕНИЕ Х , ПРИ КОТОРОМ ВЫЧИСЛЯЕТСЯ”
30 PRINT “ИНТЕРПОЛЯЦИОННОЕ ЗНАЧЕНИЕ Y”
40 INPUT X0
50 PRINT “ВВЕДИТЕ КООРДИНАТЫ БЛИЖАЙШИХ УЗЛОВЫХ ТОЧЕК”
60 INPUT X(1) , Y(1) , X(2) , Y(2)
. . .
б) 100 “ИНТЕРПОЛЯЦИОННОЕ ЗНАЧЕНИЕ ФУНКЦИИ В ТОЧКЕ”; Х0
110 “РАВНО “; Y0 ; “КОД ОШИБКИ L=”; L
. . .
Рис. 20
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ
1. Волков Е.А. Численные методы: Учеб. пособие для вузов.-.: Наука, 1987. - 248с.
2. Уолш Б. Программирование на Бейсике. - М.: Радио и связь, 1988. - 336 с.
3. Гринчишин Я.Т., Ефимов В.И., Ломакович А.Н. Алгоритмы и программы на Бейсике. - М.: Просвещение, 1988. - 160 с.
4. Дьяконов В.П. Справочник по алгоритмам и программам на языке Бейсик для персональных ЭВМ. - М.: Наука,1987. - 240 с.
5. Светозарова Г.И., Мельников А.А., Козловский А.В. Практикум по программированию на языке Бейсик. - М.: Наука, 1988. - 368 с.
6. Сергованцев В.Т., Смирнов С.М. Сборник задач по вычислительной технике в инженерных и экономических расчетах. - М.:Финансы и статистика, 1985. - 160с.
7. Бронштейн И.Н., Семендяев К.А. Справочник по математике. - М.: Наука, 1986. - 544 с.