1.4 Методы приближения функций

advertisement
- 18 <== Возврат к содержанию раздела
1.4 Методы приближения функций
Определение: Приближением функции f (x) называется ее замена многочленом вида:
Pm(x)=a00(x)+ a11(x)+…+ amm (x),
(1.8)
где а0, а1,…, am - постоянные коэффициенты, 0(x), 1(x),…, m(x) – однотипные, предварительно заданные функции, как правило непрерывно-дифференцируемые.
В вычислительной практике задачи приближения функций чаще всего
решаются с целью получения аналитических функций, соответствующих зависимостям вида yi=f (xi), i=0,1,…,n, которые получены в результате экспериментального исследования какого-либо объекта. Общая схема эксперименz - возмущающие воздействия (помехи)
та:
x( x0 ,x1,...,xn ) - входная
(независимая) переменная
Объект исследования
y( y0 , y1,..., yn ) - выходная
(зависимая) переменная
Примером объекта исследования может служить емкостной реактор с
мешалкой: входной переменной может быть температура в реакторе, выходной - концентрация целевого продукта, помехами - неравномерность перемешивания и обогрева.
Полученные зависимости обычно представляют в виде таблиц:
x x0 x1 x2 . . . xn-1 xn
y y0 y1 y2 . . . yn-1 yn .
В случаях, когда наблюдается существенный разброс значений выходной переменной, обусловленный влиянием помех, осуществляется операция
ее сглаживания. Один из популярных методов сглаживания - метод скользящего среднего. Сглаженное значение y*i получается усреднением значений
yi, соответствующих значениям xi, которые попадают в интервал усреднения
δx = [xi-z;xi+z], где z – натуральное число, т.е.
y*i  z 
2 z
1
1 2
1
yi  j . Например, при z = 1, y*i1 
yi  j  ( yi  yi 1  yi  2 ) .
2  z  1 j 0
3 j 0
3


Заметим, что положение z экспериментальных точек в начале диапазона
[x0;xn] и стольких же в конце не изменится.
Пример. Сгладить зависимость: x 0 1 2 3 4 5 6 7 8
y 2 5 3 3 2 1 1 4 2 при z = 1.
1
1
1
y1*  ( y0  y1  y2 )  ( 2  5  3)  3 ;
3
3
3
1
1
2
y*2  ( y1  y2  y3 )  (5  3  3)  3 ;
3
3
3
1
1
2
*
y3  ( y 2  y3  y 4 )  ( 3  3  2 )  2 ;
3
3
3
- 19 1
1
2
y*4  (3  2  1)  2; y*5  ( 2  1  1)  1 ;
3
3
3
Положение точек ( x0 , y0 ), ( x8 , y8 )
1
1
1
y*6  (1  1  4)  2; y*7  (1  4  2)  2 .
3
3
3
не изменяется.
Преимущества аналитических функций перед табличными: компактность, удобство хранения, возможность дифференцирования и интегрирования. Главная цель приближения табличных зависимостей многочленами вида
(1.8): получение значений зависимой переменной, соответствующих значениям xj  xi, i = 0,1,…,n, т.е. тем, для которых эксперименты не проводились.
Замечание: Получаемые в результате приближения экспериментальных зависимостей функции y = Pm(x) достоверны только при x[x0;xn]. Попытки их использования для получения значений y, соответствующих x < x0
или x > xn могут привести к серьезным ошибкам.
В вычислительной практике применяются два основных способа приближения функций: интерполяция и аппроксимация.
1.4.1 Интерполяция экспериментальных зависимостей
Постановка задачи. Пусть задан ряд значений независимой переменной x0 < x1 < x2 <…< xn, и в результате эксперимента получены соответствующие им значения зависимой переменной y0, y1,…, yn. Сформировать многочлен Pn(x)=a00(x)+a11(x)+… +ann (x), удовлетворяющий условию
yi=Pn(xi), i=0,1,…,n,
(1.9)
а при xi < x < xi+1, i = 0,1,…,n-1 – принимающий "разумные" значения.
Следовательно, график функции y=Pn(x) должен проходить через все
точки (xi,yi), i = 0,1,…,n, а между этими точками - не иметь выраженных экстремумов (см. рисунок 1.6).
Выбор вида функций i(x),
i=0,1,…,n зависит от характера экспериментальной зависимости. Чаще всего на практике применяется полиномиальная
интерполяция,
когда
i(x)=xi, i = 0,1,…,n, т.е.
Pn(x)=a0+a1x+a2x2+…+anxn. (1.10)
Теоретической основой полиномиальной интерполяции является
III теорема Вейерштрасса: любая
Рисунок 1.6 График интерполирующего
многочлена
непрерывная функция f (x) на замкнутом интервале [a;b] оси x может быть сколь угодно точно приближена степенным полиномом, т.е.   0  n  n(): max f ( x)  Pn ( x)   . Степень поx[ a ;b ]
линома (1.10), интерполирующего зависимость yi = f (xi), i = 0,1,…,n, равна n,
т.е. меньше числа заданных точек (xi,yi) на единицу.
- 20 Задача полиномиальной интерполяции сводится к определению значений коэффициентов а0, а1,…, an полинома (1.10), при которых выполняется
условие (1.9). Наиболее популярным способом ее решения является использование одной из многочисленных интерполяционных формул: Лагранжа,
Ньютона, Гаусса, Бесселя, Стирлинга, Эрмита и т.д. Чаще всего на практике
применяются формулы Лагранжа и Ньютона.
1, j  i
Определение: Полином li(x), такой что li ( x j )  
, i,j=0,1,…,n
0, j  i
называется полиномом Лагранжа. Согласно этому определению, только при
x=xi li(x) = 1, а при любом другом li(x) = 0, следовательно, полином Лагранжа
может быть записан в виде: li(x)=Сi(x-x0)(x-x1)…(x-xi-1)(x-xi+1)…(x-xn). Значение коэффициента Сi можно определить из условия
li(xi)=Сi(xi-x0)(xi-x1)…(xi-xi-1)(xi-xi+1)…(xi-xn)=1,
следовательно, Ci=1/[(xi-x0)(xi-x1)…(xi-xi-1)(xi-xi+1)…(xi-xn)].
Таким образом, для заданного набора значений независимой переменной x0,x1,…,xn полиномы Лагранжа имеют вид
( x  x0 )( x  x1 )...( x  xi 1 )( x  xi 1 )...( x  xn )
li ( x) 
, i = 0,1,…,n.
( xi  x0 )( xi  x1 )...( xi  xi 1 )( xi  xi 1 )...( xi  xn )
Условие (1.9) выполняется для полиномов Лагранжа, умноженных на
соответствующие значения yi: li(xi)yi=yi, i=0,1,…,n, следовательно, формула
Лагранжа для полиномиальной интерполяции может быть записана в виде:
n
n
( x  x 0 )( x  x1 )...( x  x i 1 )( x  x i 1 )...( x  x n )
Pn ( x)   y i l i ( x)   y i
(1.11)
(
x
i 0
i 0
i  x 0 )( x i  x1 )...( x i  x i 1 )( x i  x i 1 )...( x i  x n )
Пример. Интерполировать зависимость x0=0; x1=/2; x2= ;
y0=0; y1=1;
y2=0; [sin(x)].






( x  0) x  
 x  ( x  )
2
( x  0)( x  )
 2x 
 2
 2
P2 ( x)  0 
1
 0
1  1 .
 
    
 
  
(  0)   
 0  (0  )
  0    
2
2
2
2







Замечание. На отрезке [0;] P2(x) хорошо приближает функцию sin(x):
sin(/6)=0.5; P2(/6)=0.556; sin(/3)=0.866; P2(/3)=0.889; - но за пределами
этого отрезка использование P2(x) вместо sin(x) неоправданно: sin(-/6)=-0.5;
P2(-/6)=-0.778; sin(-/3)=-0.866; P2(-/3)=-1.778.
Определение: Конечной разностью 1-го порядка для зависимости
yi=f (xi), i = 0,1,…,n называется отношение разности значений зависимой переменной в двух соседних точках к разности соответствующих значений независимой переменной:
y y
y y
y y
y0  1 0 , y1  2 1 ,. . . , yn 1  n n 1
x1  x0
x2  x1
xn  xn 1
(аналоги производной для табличной функции). Конечные разности 2-го порядка получаются из разностей 1-го порядка по правилам:
- 21 y  y 0
y  y n  2
y  y1
2 y 0  1
, 2 y1  2
, . . . , 2 y n  2  n 1
x2  x0
x 3  x1
x n  x n2
(аналоги второй производной для табличной функции). В общем виде
m1 y i 1  m1 y i
(1.12)
m y i 
, i  0,1,..., n  m; m 1,2,..., n
xi  m  xi
С ростом порядка m число конечных разностей уменьшается: при m=1 их n
штук, при m = 2 – (n–1) штук, при m = l – (n-l+1) штук, при m = n–1 – 2 штуки
и при m = n – только одна (ny0). Интерполяционный многочлен Ньютона
использует конечные разности рассматриваемой табличной функции и существует в двух формах.
Первая (левая) формула Ньютона имеет вид:
Pn(x)=a0+a1(x-x0)+a2(x-x0)(x-x1)+…+an(x-x0)(x-x1)…(x-xn-1)
(крайнее правое значение x = xn в формуле не используется). Значения коэффициентов а0, а1,…, an определяются из условия (1.9):
y y
Pn ( x 0 )  y 0  a 0  a 0  y 0 , Pn ( x1 )  y1  y 0  a1 ( x1  x 0 )  a1  1 0  y 0 .
x1  x 0
Аналогично можно показать, что a2=2y0, a3=3y0,…, an=ny0, следовательно,
n
Pn ( x)  y 0   ( x  x 0 )( x  x1 )...( x  x k 1 )k y 0 .
k 1
(1.13)
Вторая (правая) формула Ньютона:
Pn(x)=a0+a1(x-xn)+a2(x-xn)(x-xn-1)+…+an(x-xn)(x-xn-1)…(x-x1)
(не используется крайнее левое значение x = x0). Из условия (1.9) в данном
случае получается a0=yn, a1=yn-1, a2=2yn-2,…, an=ny0, т.е.
n
Pn ( x)  y n   ( x  x n )( x  x n 1 )...( x  x n  k 1 )k y n  k .
k 1
(1.14)
Пример. Интерполировать зависимость x0=0; x1=1; x2=2; x3=3;
y0=-1; y1=0; y2=7; y3=26;
y1  y 0
y y
y y
 1, y1  2 1  7 , y 2  3 2 19;
Конечные разности: y 0 
x1  x 0
x 2  x1
x3  x 2
y1  y 0
2 y1  2 y 0
y  y1
 3, 2 y1  2
 6; 3 y 0 
1.
x 2  x0
x3  x1
x3  x 0
Левая формула: P3(x)=y0+y0(x–x0)+2y0(x–x0)(x–x1)+3y0(x–x0)(x–x1)(x–x2)=
= –1+1(x–0)+3(x–0)(x–1)+1(x–0)(x–1)(x–2) = x3–1.
Правая формула: P3(x)=y3+y2(x–x3)+2y1(x–x3)(x–x2)+3y0(x–x3)(x–x2)(x–x1)=
=26+19(x–3)+6(x–3)(x–2)+1(x–3)(x–2)(x–1) = x3–1.
Замечание. Существует единственный полином степени  n, интерполирующий заданные точки (xi,yi), i=0,1,…,n. Следовательно, для одной и той
же зависимости yi=f (xi), i=0,1,…,n все интерполяционные формулы порождают один и тот же полином. Разница между различными интерполяционными формулами заключается в способе формирования полинома вида (1.10).
2 y 0 
- 22 В отличие от формулы Лагранжа, которая имеет одинаковую трудоемкость при любом расположении точек (xi,yi), формулы Ньютона менее трудоемки, если эти точки являются равноотстоящими, т.е. xi = xi–xi-1 = const,
i=1,2,…,n (конечные разности вычисляются проще, поскольку их знаменатели известны заранее). Кроме того, при увеличении числа точек (xi,yi) использование формул Ньютона потребует лишь добавления к уже сформированному многочлену Pn(x) дополнительных слагаемых, а использование формулы
Лагранжа – повторения операции его формирования. С другой стороны, применение формул Ньютона требует предварительного вычисления всех конечных разностей интерполируемой зависимости yi = f (xi), i=0,1,…,n. Для удобства их вычисления рекомендуется формировать следующие таблицы:
x
y
.....
y
2y
 3y
n-1y
n y
2
3
n-1
x0
.
.
.
.
.
y0
y0
 y0
 y0
 y0
ny0
2
n-1
x1
y1
...... .....
0
y1
 y1
 y1
x2
y2
......
.....
0
......
y2
3yn-4
x3
y3
......
2yn-3
3yn-3 . . . . . . . . . . . . . . . . .
...... ......
0
..... ...... ......
yn-2
2yn-2
xn-1
yn-1
0
0
..... ...... ......
yn-1
xn
0
0
0
.....
0
0
yn
Коэффициенты левой формулы Ньютона стоят в верхней строке таблицы, коэффициенты правой - на диагонали.
На практике полиномиальная интерполяция с использованием формул
Лагранжа, Ньютона и им подобных применяется при n  56. При большем
числе точек (xi,yi) ее результаты становятся малопригодными: получаемые
полиномы Pn(x) удовлетворяют условию Pn(xi) = yi, i = 0,1,…,n, но в промежутках между точками (xi,yi) могут принимать явно "неразумные", недостоверные значения. Поэтому при n > 56 осуществляют кусочную полиномиальную интерполяцию, т.е. применяют формулы (1.12) - (1.14) не ко всему
отрезку [x0;xn], а последовательно к его частям, содержащим не более 56
точек (xi,yi). Наиболее популярны кусочно-линейная и кусочно-квадратичная
интерполяция.
Кусочно-линейная интерполяция зависимости yi = f (xi), i = 0,1,…,n
предусматривает соединение каждой пары соседних точек (xi,yi) отрезком
прямой линии, т.е. формирование для каждого отрезка [xi,xi+1] полинома
P1(i)(x),
i=0,1,…n-1,
например,
по
формуле
Лагранжа
x

x
x

x
i 1
i
P1(i ) ( x) y i
 y i 1
,
x i  x i 1
x i 1  x i
y i 1  y i
( x  xi ) .
x i 1  x i
Кусочно-квадратичная интерполяция сводится к формированию для
каждого отрезка [xi,xi+2] полинома P2(i)(x), i = 0,2,…n–2, т.е. предусматривает
соединение каждой тройки соседних точек (xi,yi) отрезком квадратичной параболы. По формуле Лагранжа
а по левой формуле Ньютона P1(i ) ( x)  y i 
- 23 x xi 1 x xi  2 
x xi x xi  2 
x xi x xi 1 
P2(i ) x  y i
y
y
,
xi  xi 1 xi  xi  2  i 1 xi 1  xi xi 1  xi  2  i  2 xi  2  xi 1 xi  2  xi  2 
по правой формуле Ньютона
y i  2  y i 1 y i 1  y i

y y
x x
x i 1  x i
P2(i ) ( x)  y i  2  i  2 i 1 ( x  x i  2 )  i  2 i 1
( x  x i  2 )( x  x i 1 ) .
x i  2  x i 1
xi  2  xi
Пример. Интерполировать зависимость x0=-3; x1=-1; x2=1; x3=3; x4=5
y0=0; y1=-2; y2=1; y3=2; y4=-1
и определить значения y в точках x = -2, x = 0, x = 4.
1) x[-3;-1], линейная по формуле Лагранжа:
x  x0
x  x1
x 1
x 3
( 0)
P1  y 0
 y1
 0
 2
  x  3, P1(0)(–2) = 2 – 3 = –1;
x 0  x1
x1  x 0
 3 1
1 3
2) x[-1;1], линейная по правой формуле Ньютона:
y y
1 2
P1(1) ( x )  y2  2 1 ( x  x2 )  1 
 ( x  1)  1.5  x  0.5, P1(1)(0) = 0 – 0.5 = –0.5;
x2  x1
11
3) x[1;5], квадратичная по левой формуле Ньютона:
y y
( y  y ) ( x 4  x3 )( y 3  y 2 ) ( x3  x 2 )
P2( 2) ( x) y 2  3 2 ( x x 2 ) 4 3
( x x 2 )( x x 3 )
x3  x 2
x4 x2
2 1
( 1  2) (5  3)  (2  1) (3  1)
( x  1) 
( x  1)( x  3)  0.5  x 2  2.5  x  1,
3 1
5 1
P2(2)(4)= –8 + 10 –1=1.
Рассмотренные способы кусочной интерполяция просты, их результаты вполне надежны. Единственный недостаток - интерполирующая функция
не гладкая (ломаная), т.е. ее производная может иметь разрывы в точках
(xi,yi). Это существенно в случаях, когда зависимой переменной является первообразная от действительно интересующей исследователя величины
(например, нас интересует изменение скорости тела во времени, а в эксперименте снята зависимость его пути от времени). Существует способ кусочной
интерполяции, лишенный этого недостатка - сплайн-интерполяция.
Английское слово сплайн обозначает гибкую рейку из упругого материала. Цепляя к сплайну пружины разной жесткости и грузила разного веса,
можно получить кривую, интерполирующую заданное множество точек
(xi,yi), i = 0,1,…,n. Сплайн не разрушается, т.е. образует гладкую кривую S(x).
В теории балок доказывается, что S(x) на каждом отрезке [xi-1;xi], i=1,2,…,n
представляет собой кубический полином, причем соседние полиномы, их
первые и вторые производные соединяются непрерывно. Поэтому S(x) называется кубическим сплайном.
Полином, формируемый для каждого из отрезков [xi-1;xi], i=1,2,…,n
имеет вид: ai+bi(x-xi-1)+ci(x-xi-1)2+di(x-xi-1)3. Коэффициенты этих полиномов
определяются из следующих соотношений:
ai = yi-1, i = 1,2,…,n;
(1.15)
1
- 24 -
 y y y y 
c i x i  x i 1  2c i 1 x i 1  x i 1 c i  2 x i 1  x i 3 i 1 i  i i 1 , i 1,..., n1
(1.16)
 x i 1  x i x i  x i 1 
c1 c n 1 0;
y  y i 1 x i  x i 1
bi  i

(c i 1  2 ci ), i 1,2,..., n ;
(1.17)
x i  x i 1
3
c i 1  c i
, i 1,2,..., n ;
(1.18)
3( x i  x i 1 )
т.е. значения коэффициентов bi, di, i = 1,2,…,n зависят от значений коэффициентов ci, для определения которых необходимо решить систему (1.16) линейных уравнений порядка (n-1). Системы вида (1.16) обычно хорошо обусловdi 
n
лены, для них всегда выполняется условие |aii|  |aij| , i = 1,2,...,n, поэтому
j 1, j i
их можно без преобразований решать методами Гаусса, Якоби, Зейделя.
Пример. Интерполировать зависимость x0=1; x1=3; x2=5; x3=7
y0=-2; y1=-4; y2=1; y3=3
и определить значения y в точках x = 2, x = 4, x = 6.
a1 = y0 = -2, a2 = y1 = -4, a3 = y2 = 1. c1 = c4 = 0;

 y2  y1 y1  y0 
;

2c2 ( x2  x0 )  c3( x2  x1 )  3
8c2  2c3  10 .5;

 x2  x1 x1  x0 
 

 y3  y2 y2  y1 
2c2  8c3  4.5;


;
c
(
x

x
)

2
c
(
x

x
)

3

2
2
1
3
3
1

 x3  x2 x2  x1 

c2  46 .5 / 30  1.55;
c3  28 .5 / 30  0.95 .
2 2
5 2
2 2
b1    1.55  2.033; b2   ( 0.95  3.1 )  1.07; b3   ( 1.9 )  2.27 .
3 3
2 3
2 3
1.55
0.95  1.55
0.95
d1 
 0.258 ; d 2 
 0.413; d 3 
 0.158 .
6
6
6
 2  2.033  ( x  1)  0.258  ( x  1)3 , x  [1;3]

Следовательно: S ( x )   4  1.07  ( x  3)  1.55  ( x  3)2  0.41  ( x  3)3 , x  [3;5]

2
3
1  2.27  ( x  5)  0.95  ( x  5)  0.158  ( x  5) , x  [5;7]
Поэтому y (2)  S (2)  3.742 ;
y (4)  S (4)  1.79;
y (6)  S (6)  2.475 .
Интерполяция не находит широкого применения для приближения
экспериментальных зависимостей, т.к. нет смысла получать функцию, график
которой проходит точно через экспериментальные точки, если эти точки
несут в себе погрешность. Среднее значение погрешности эксперимента
обычно известно, поэтому значительно чаще в инженерной практике экспериментальные зависимости аппроксимируют, т.е. приближают функциями,
графики которых проходят достаточно близко к точкам (xi,yi), i = 0,1,…,n
- 25 1.4.2 Аппроксимация экспериментальных зависимостей.
Определение: Задача построения многочлена вида (1.8), значения которого в точках xi , i  0, 1,..., n в достаточной степени соответствуют значениям
yi, i = 0,1,…,n, называется задачей аппроксимации зависимости yi = f (xi) (рисунок 1.7).
Постановка задачи: Подобрать элементарные функции j(x):
x j , sin( j x ), e
 jx
и т.п., порядок m и определить значения коэффициентов
многочлена Pm ( x)a00 ( x)a11( x)...amm ( x), при которых он достаточно
точно соответствует исходной экспериментальной зависимости.
Чаще всего в вычислительной
практике используется полиномиальная аппроксимация, когда
 j ( x)  x j , j  0,1,..., m,
Рисунок 1.7 График аппроксимирующего
многочлена
т.е. Pm ( x)  a0  a1x  a2 x2 ... am xm.
Наиболее популярными методами
полиномиальной аппроксимации являются метод наименьших квадратов
и метод ортогональных полиномов
Чебышева.
Метод наименьших квадратов предусматривает произвольный выбор
порядка m полинома Pm(x) и определение значений коэффициентов
a 0 , a1 ,..., a m из условия
1 n
  ( Pm ( x i )  y i ) 2  min,
(1.19)
n 1 i  0
т.е. минимума среднеквадратичного отклонения Pm ( xi ) от yi, i=0,1,…,n.
При выбранном m задача определения значений коэффициентов
a 0 , a1 ,..., a m сводится к поиску минимума функции

n
S (a0 , a1 ,..., am )  (a0  a1 xi  a2 xi2  ...  am xim  yi ) 2 .
i 0
Как известно из курса высшей математики, функция S достигнет минимума в
точке, где
n
S
 2   (a0  a1 xi  a2 xi2  ...  am xim  yi )  xij 0, j  0,1,..., m .
a
i 0
Преобразуя эти выражения, получим систему линейных уравнений порядка
(m+1) с неизвестными a 0 , a1 ,..., a m :
- 26 n
n

2
m
yi ;
a0 ( n  1 )  a1 xi  a2 xi  ...  am xi 
i 0
i 0
i 0
i 0

 n
n
n
n
n
a0 xi  a1 xi2  a2 xi3  ...  am xim 1 
xi yi ;
(1.20)
 i 0
i 0
i 0
i 0
i 0
.......... .......... .......... .......... .......... .......... .......... .......... .......... ....

n
n
n
n
 n m
xim yi ;
a0 xi  a1 xim 1  a2 xim  2  ...  am x 2 m 
 i  0
i 0
i 0
i 0
i 0
Доказано, что определитель системы (1.20) отличен от нуля: ее решение существует и единственно. Диагональные коэффициенты матрицы системы всегда отличны от нуля, т.е. ее можно без преобразований решать методом Гаусса. Применить итерационные методы, как правило, не удается.
Довольно популярным способом выявления степени соответствия полученного в результате полинома yPm (x ) зависимости yi=f (xi), i = 0,1,...n
y
является вычисление значения критерия Фишера F 
, где
 ост
n

y 
y




n









1 n
  ( yi  y )2 - дисперсия относительно среднего значения yi, i = 0,...,n:
n i 0
n
n
1
1
  yi ; ост 
 [ Pm ( xi ) yi ]2 - остаточная дисперсия. Критеn  1 i 0
n  m i 0
рий Фишера показывает, во сколько раз рассеяние исходной экспериментальной зависимости относительно полученного полинома меньше, чем ее
рассеяние относительно среднего арифметического значения yi, i = 0,1,...,n.
Степень соответствия тем выше, чем больше полученное значение F
превышает табличное Fp(f1,f2) для выбранного уровня значимости р и чисел
степеней свободы f1, f2. Уровень значимости р – это число, полученное вычитанием из единицы значения вероятности того, что Pm(x) – р  y  Pm(x) + р,
(например р = 0.05, если вероятность равна 0.95), f1=n, f2= n – m. Если полученное значение F окажется меньше табличного, необходимо изменить условия формирования полинома y = Pm(x):
а) увеличить его порядок m (с учетом ограничения m < n, т.к. при
m = n Pm(x) станет интерполяционным полиномом);
б) выбрать другие элементарные функции φj, j = 0,1,..., m;
в) увеличить уровень значимости р;
г) предварительно сгладить зависимость yi = f (xi), i = 0,1,...,n.
Пример. Аппроксимировать зависимость x 1
3 6 10 15 21
y 0.64 1.35 3.86 5.13 9.05 8.85
степенным полиномом. Выберем m = 1, т.е. искомый полином
P1( x )  a0  a1x . Система (1.20) в данном случае примет вид
- 27 -

yi ;
a0  6  a1 xi 
6a0  56  a1  28 .8;
a0  0.581;

i 0
i 0


 5
5
5
a1  0.453;
56  a0  812  a1  400.75;
a
2
xi yi ;
 0 xi  a1 xi 
i 0
i 0
 i 0
P1 (1)  1.034 ; P1 (3)  1.941; P1 (6)  3.302 ;
P1(x) = 0.581 + 0.453x, 
P1 (10 )  5.116 ; P1 (15)  7.383; P1 ( 21)  10 .104 .
5


5



1
 (0.64  1.35  3.86  5.13  9.05  8.85)  4.813.
6
1
 y   [( 0.64  4.813 ) 2  (1.35  4.813 ) 2  (3.86  4.813 ) 2 
5
.
2
2
2
 (5.13  4.813 )  (9.05  4.813 )  (8.85  4.813 ) ]  12 .933 .
1
ост 
 [(1.034  0.64 ) 2  (1.941  1.35) 2  (3.302  3.86 )2 
5 1
.
2
2
2
 (5.116  5.13)  (7.383  9.05)  (10 .104  8.85) ]  1.292
y
F
 10 .01 > F0.05(5,4) = 6.3, т.е. степень соответствия аппроксимируост
ющего полинома экспериментальной зависимости вполне достаточна.
На практике метод наименьших квадратов применяют лишь при
m  57, т.к. при больших m система (1.20) становится плохо обусловленной
и коэффициенты a 0 , a1 ,..., a m определяются с большими ошибками. Еще
один существенный недостаток этого метода – необходимость повторного
решения задачи в случаях, когда точность первоначального решения недостаточна.
Метод ортогональных полиномов Чебышева лишен указанных недостатков. Многочлен Pm(x) при его использовании также имеет вид (1.8), но
функции  j ( x), j 1,2,..., m - это полиномы, удовлетворяющие условиям,
y
n
 j ( xi )   k ( xi )  0, j  k .
i
0
n
  [ j ( xi )] 2  0, j  0,1,2,..., m.
i 0
(1.21)
0 ( x) 1. 1 ( x) можно получить из условий (1.21), положив 1 ( x)  x   .
1 n
1 n
  xi , 1 ( xi )  xi 
  xi .
n 1 i0
n 1 i0
i 0
i 0
Следующий полином Чебышева вычисляется по двум предыдущим:
 r 1 ( x)  ( x   r 1 )   r ( x)   r 1   r 1 ( x), r 1,2,..., m 1, где
n
n
 0 ( xi )  1 ( xi )  0  ( xi  )  0    
n
r 1    xi [r ( xi )]2
i 0
n
n
n
i 0
i 0
i 0
2
2
[r ( xi )] ,  r 1    xi  r ( xi )  r 1 ( xi ) / [r 1 ( xi )] .
- 28 Например, 2 ( x)  ( x  2 )  1 ( x)   2  0 ( x), где
2
2
n
n 
n
1 n 
1 n 
1 n 


2    xi   xi 
  xi 
  xi  ,  2    xi  xi 
  xi .
  xi 
n 1 i0 
n 1 i0 
n 1 i0 
i 0
i 0 
i 0 

Для получения конкретного полинома при фиксированном m необходимо найти по этим формулам полиномы  j ( x), j 1,2,..., m и определить зна-
чения коэффициентов a0 , a1 ,..., am . Доказано, что наиболее вероятные значения коэффициентов равны
n
n
i 0
i 0
a r   y i   r ( xi ) / [ r ( xi )] 2 , r  0,1,2,..., m.
Использование метода ортогональных полиномов не связано с решением систем линейных уравнений и позволяет легко переходить от полинома
Pm (x) к полиному Pm1 ( x) при недостаточной точности первого. Для этого
необходимо сформировать полином  m1 ( x) , определить значение коэффициента am1 и добавить произведение am1  m1 ( x) к многочлену Pm (x) .
Поэтому, хотя алгоритм этого метода значительно сложнее алгоритма метода
наименьших квадратов, в вычислительной практике чаще применяется метод
ортогональных полиномов.
Пример. Аппроксимировать зависимость: x0  1; x1 1; x2  3; x3  5;
y0  3; y1  2; y2  4; y3  1;
Вначале примем m 1 P1 ( x)  a0  a1  1 ( x).
3
3
i 0
i 0
a0   yi  0 ( xi ) / [0 ( xi )]2  (3  2  4  1) / 4  0.5;
1 3
1 ( x)  x    xi  x  (11 3  5) / 4  x  2;
4 i0
3
3
i 0
i 0
a1   yi  1 ( xi ) / [1( xi )]2  ( 9  2  4  3) / (9  1  1  9)  0.4;
P1( x)  0.5  0.4  ( x  2)  0.4 x  0.3;
P1( 1)  0.7; P1(1)  0.1; P1(3)  0.9; P1(5)  1.7;
1
 (3  2  5  1)  0.75 ;
4
1
 y   [( 3  0.75)2  ( 2  0.75)2  ( 4  0.75)2  (1  0.75)2 ]  9.667 .
3
1
ост 
 [( 0.7  3)2  ( 0.1  2)2  ( 0.9  5)2  ( 1.7  1)2 ]  12 .9 .
3 1
y
F
 0.749 < F0.05(3,1) = 8.2.
ост
y
m  2  P2 ( x)  0.5  0.4  ( x  2)  a2  2 ( x);
- 29 3
3
i 0
3
i 0
 2    xi [1 ( xi )] 2 / [1 ( xi )] 2  (9 1 3  45) /(9 11 9)  2;
3
 2    xi  1 ( x)  0 ( xi ) / [0 ( xi )] 2  (3 1 3 15) / 4  5;
i 0
i 0
2 ( x)  ( x  2)  1 ( x)  5 0 ( x)  ( x  2)  ( x  2)  5  x 2  4 x 1;
3
3
i 0
i 0
a2   y1 2 ( xi ) / [2 ( xi )]2  (12  8  16  4) / (16  16  16  16 )  0.625;
P2 ( x)  0.5  0.4  ( x  2)  0.625 ( x2  4 x  1)  0.625x2  2.9 x  0.325;
P2 ( 1)  3.2; P2 (1)  2.6; P2 (3)  3.4; P2 (5)  0.8;
1
 [( 3.2  3) 2  ( 2.6  2) 2  ( 3.4  4) 2  (0.8  1) 2 ]  0.8.
3 2
y
F
 12 .083 > F0.05(3,2) = 8.8, т.е. полином P2(x) достаточно точ ост
но аппроксимирует заданную экспериментальную зависимость.
ост 
<== Возврат к содержанию раздела
Download