Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Куликов С.П., Самохин А.Б., Чердынцев В.В. Учебное пособие

.pdf
Скачиваний:
446
Добавлен:
02.05.2014
Размер:
554.54 Кб
Скачать

11

ции систему уравнений Ρn (xi ) = yi

или в развернутом виде:

a

 

+ a

x

 

+ ... + a

 

x n

= y

 

 

0

1

 

0

 

 

n

0

 

0

a

 

+ a

x

 

+ ... + a

 

 

x n

= y

 

 

0

1

1

 

n

1

1 .

 

 

 

 

 

 

 

 

 

 

 

............................................

 

a0

+ a1

xn + ... + an xnn = yn

Система (n+1)-ого уравнения относительно ai , 0 ≤ i n имеет единственное решение, если xi x j так как в этом случае её оп-

ределитель не равен 0.

Существуют методы, позволяющие избежать непосредственного решения системы уравнений для нахождения ai .

 

2.2 Интерполяционный полином Лагранжа

Рассмотрим в начале n=1 (2.1):

 

 

Ρn (x) = a0 + a1x; a0 + a1x0 = y0 ;

 

 

 

 

 

 

 

 

a0 + a1x1 = y1

 

 

 

 

 

 

 

a =

y0 y1

;

a =

y1x0 y0 x1

.

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

x0

x1

0

x0 x1

 

 

 

 

 

 

 

 

 

Подставляя коэффициенты в Ρ1 (x) , получим:

Ρ (x) = y

 

x x1

+ y

 

 

x x0

;

то есть полином представлен в ви-

0 x

 

x

 

 

 

1

0

1 x

x

0

 

 

 

 

 

 

 

1

 

1

 

 

 

 

 

де суммы двух линейных функций, независящих от ординат, умноженных на ординаты и обладающих свойством:

P (x ) = y

1 + y 0, P (x ) = y

0

0 + y 1.

1

0

0

1

1

1

1

В этом состоит идея построения интерполяционного полинома Лагранжа. Для произвольного значения n запишем интерполяционный полином в виде:

Ρn (x) = y0 L0 (x) + y1L1(x) + ... + yn Ln (x) ,

12

где Li полиномы степени не выше n, не зависящие от ординат, и

обладающие следующими свойством: Li (xi ) = 1,

Li (x j ) = 0 .

Из равенства, Li (x j ) = 0 следует, что Li имеет n корней (рассмат-

риваются однократные корни).

 

 

Li (x) =

(x x0 )(x x0 )...( x xi −1)(x xi +1)...( x xn )

 

 

,

Ni

 

 

 

 

где Ni - коэффициент, который находится из условияLi (xi ) = 1.

В результате интерполяционный полином Лагранжа имеет вид:

n

( x x0 )(x x1)...( x

xi −1)(x xi +1)...( x xn )

 

Ρn (x) = yi

 

(x

x )(x

x )...( x

x

)(x x

)...( x

x

 

)

i =0

n

i

0

i

1

i

i −1

i i +1

i

 

 

(2.1.1)

 

 

 

 

 

 

 

 

 

 

 

Достоинства интерполяционного полинома Лагранжа является простота конструкции. При заданном наборе абсцисс узловых то-

чек и выбранной расчетной точке x*упрощается вычисления для различных ординат yi . Недостаток – добавление (n+1)-ого узла

(xn+1 , yn+1 ) требует перерасчета всех слагаемых.

Погрешность вычисления: пусть f (x) – функция n+1 – раз дифференцируемая и Pn (x) – приближающий её интерполяционный полином.

f (x) − Pn (x) ≤ M n+1 (x x0 )(x x1)L(x xn ) , (n+!)!

где M n+1 = max f (n+1) ( x) , x [a, b].

Интерполяционный полином Лагранжа при линейных преобразованиях x = at + b (t- новая переменная) – сохраняет свой вид.

13

 

 

 

2.3 Интерполяционный полином Ньютона.

 

Пусть n=0, тогда

P0 (x) = y0 , если

n=1,

то

 

выражение

для

полинома

можно записать в виде:

P ( x) = y

0

+

y1

y0

(x x

0

) , т. е.

поведение приближающей

 

 

1

 

 

x1

x0

 

 

 

 

 

 

 

 

 

 

 

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

Pn ( x) = a0 + a1(x x0 ) + a2 ( x x0 )(x x1) + a3 (x x0 )(x x1)(x x2 ) + K+ an (x x0 )(x x1)K( x xn−1)

Рассматривается равномерная сетка, т.е. xi = x0 + ih .

Для дальнейшего анализа вводится понятие конечной разности. Конечной разностью первого порядка называется величина

y( x) = y(x + h) − y(x), x [x0 , xn ] .

Конечная разность второго порядка определяется по первой

2 y(x) = y(x + h) − y( x) = y(x + 2h) − 2 y(x + h) + y(x)

и т.д. конечная разность i – ого порядка определяется через рекуррентное соотношение:

(i+1)

y(x) = (i) y( x + h) − (i) y( x)

и зависят от значений y в (i + 1) – ой точке.

Выражение вида: x[n] = x( x h)(x − 2h)K(x − (n − 1)h) называется обобщенным произведением. Его первая конечная разность равна:

x[n] = (x + h)[n] x[n] == ( x + h)x(x h)...

. (2.3.1)

...( x − (n − 2)h) − x(x h)(x − 2h)...( x − (n − 1)h) = nhx[n−1]

Отсюда следует выражение для конечных разностей высших порядков.

14

Подставляя x0 в Pn (x) , получим: a0 = Pn (x0 ) = y0 . Далее, определим конечную разность в точке x0 . Из свойства (2.3.1) по-

лучим:

 

Pn (x) |x= x0

= {a1h + 2a2h(x x0 ) + ...

 

 

 

 

 

... + nanh( x x0 )(x x1)K(x xn− 2 )} |x= x0 = 2a1h =

y0

 

 

 

Отсюда следует, что a =

y0

. Точно также из (2.2) следует вы-

 

 

 

 

 

 

 

1

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ражение для конечной разности второго порядка в точке x0 :

 

2 P (x) |

x= x0

= {2a

2

h

2 + 3 2a h2 (x x ) +

 

 

 

 

 

 

 

n

 

 

 

 

3

 

0

 

 

 

 

 

 

 

 

.

 

 

 

h2 ( x x )(x x )K(x x

 

 

 

 

 

 

h2 =

2 y

K+ n(n − 1)a

n

n−3

)} |

= 2a

2

0

 

 

 

 

 

0

1

 

 

 

x= x0

 

 

 

Общая формула имеет вид: a

=

(i) y0

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

i!hi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В результате получаем первый интерполяционный полином Ньютона:

P ( x) = y

0

+

 

y0

(x x ) +

(2) y0

(x x )(x x ) + ...

 

 

 

n

 

 

 

hi

0

2!h2

0

 

1

 

 

 

 

 

 

 

 

 

(2.3.2)

 

 

 

 

(n) y0

 

 

 

 

... +

 

 

(x x )(x x )K(x x

n−1

)

 

 

 

 

 

 

 

n!hn

0

1

 

 

 

 

 

 

 

 

 

 

 

 

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

Второй интерполяционный полином Ньютона позволяет начать интерполяцию с точки xn , т.е. улучшить точность прибли-

жения на правой границе интервала интерполяции

Pn (x) = a0 + a1( x xn ) + a2 (x xn−1)(x xn ) +

+ a3 ( x xn−2 )(x xn−1)(x xn ) + K+ an ( x x1)(x xn−1)K( x xn )

Из структуры полинома следует, что a0 = yn .

Pn (x n −1) |x = x n

=

yn −1 = {ha1 + 2ha 2 (x − x n ) + L} |x = xn ;

a

=

yn−1

; a

2

=

2 yn−2

; и так далее. Окончательно получим:

 

 

1

 

h 1!

 

h2 2!

 

 

 

 

15

P (x) = y

n

+

yn −1

 

(x − x

n

) +

 

2 yn −2

(x − x

n

)(x − x

n −1

) + ...

 

 

 

n

 

h

 

 

 

 

 

h 2 2!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

; (2.3.3)

 

 

 

 

 

 

n y0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

... +

 

(x − x

n

)L(x − x

1

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h n n!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

При расчётах и алгоритмизации вычисления интерполяционного полинома применяется таблица конечных разностей:

Таблица 2.2

x

y

y

2

y

3

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

x0

y0

y0

2 y0

3y

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

1

x1

y1

y1

2 y

 

 

 

 

 

 

 

1

 

 

 

2

x2

y2

y2

 

 

 

 

 

 

 

 

 

 

 

 

 

3

x3

y3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Для построения 1-ого интерполяционного полинома Ньютона необходима 1-ая строка табл. 2.2. Для построения 2-ого интерполяционного полинома Ньютона необходима побочная диагональ таблицы. Обычно при машинных расчётах массив ординат узловых точек последовательно преобразуется в массив коэффициентов ai , так что они запоминаются в соответствующих эле-

ментах массива.

2.3 Примеры и задания для практических занятий

Пример: Дана таблица узлов. Построить интерполяционный полином Лагранжа и провести проверку табл. 2.3.

Таблица 2.3

N 0 1 2 3

16

X

0

0,5

1

1,5

 

 

 

 

 

Y

1

2

3

1

 

 

 

 

 

В выражение (2.1) для n=3:

P3 (x) = y0

(x x1 )(x x2 )(x x3 )

 

 

 

+ y1

(x x0 )(x x2 )(x x3 )

 

+

(x

0

x )(x

0

x

2

 

)(x

0

x

3

)

 

(x x

0

)(x x

2

)(x x

3

)

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

1

 

 

 

 

1

 

 

y2

(x x0 )(x x1 )(x x3 )

 

 

+ y3

 

 

(x x0 )(x x1 )(x x2 )

 

 

 

 

 

(x

2

x

0

)(x

2

x )(x

2

x

3

)

(x

3

x

0

)(x

3

x )(x

3

x

2

)

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

,

необходимо подставить данные из табл. 2.3.

P (x) = 1

(x − 0,5)(x − 1)(x − 1,5)

+ 2

 

(x − 0)(x − 1)(x − 1,5)

 

+

3

 

 

(0 − 0,5)(0 − 1)(0 − 1,5)

 

(0,5 − 0)(0,5 − 1)(0,5 − 1,5)

.

 

 

 

 

 

 

(x − 0)(x − 0,5)(x − 1,5)

 

 

 

(x − 0)(x − 0,5)(x − 1)

 

 

 

 

 

3

+ 1

 

 

 

 

 

 

 

(1 − 0)(1 − 0,5)(1 − 1,5)

(1,5 − 0)(1,5 − 0,5)(1,5 − 1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

После преобразований получим: P (x) = −4x3 + 6x 2 + 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Проверка:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P3 (x0 ) = P3 (0) = 1 ≡ y0 ,

P3 ( x1) = P3 (0,5) = −4 / 8 + 6 / 4 + 1 = 2 ≡ y1

P3 (x2 ) = P3 (1) = −4 + 6 + 1 = 3 ≡ y2 ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P3 (x3 ) = P3 (1,5) = −4 27 / 8 + 6 9 / 4 + 1 = 1 ≡ y3.

 

 

 

 

 

 

 

Пример.

Построить интерполяционные полиномы Ньютона по

предыдущей таблице узловых точек.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Первый интерполяционный поли-

x

 

y

y

2

y

3

y

 

 

 

ном Ньютона.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

0

 

1

1

0

-3

 

 

P (x) = y

 

+

 

 

y

(x − x

 

 

) +

 

 

1

 

0.5

 

2

1

-3

 

 

 

 

 

0

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

h

 

 

 

 

 

2

 

1

 

3

-2

 

 

 

 

 

 

 

2 y0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

1.5

 

1

 

 

 

 

 

 

 

 

(x − x0 )(x

− x1) +

 

 

;

 

 

 

 

 

 

 

 

 

2h 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+

 

3y0

(x − x

0

)(x − x

1

)(x − x

2

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6h3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

17

 

 

 

 

 

 

 

 

 

 

P3 (x) = 1 + 2x + 0 +

 

− 3

 

x(x − 0.5)(x −1) + 1 + 2x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6(0.5)3

 

 

 

 

 

 

 

 

 

 

;

 

− 4(x3 − 1.5x2 + 0.5) = −4x3 + 6x2 + 1

 

 

Второй интерполяционный полином Ньютона:

 

 

 

 

 

 

 

 

 

y

2

 

 

 

 

 

 

 

 

2 y

 

 

 

 

 

 

 

P (x) = y

3

+

 

 

 

 

(x

− x

3

) +

 

1

(x − x

3

)(x − x

2

) +

 

 

 

 

 

 

 

 

3

 

 

 

 

h

 

 

 

 

 

 

 

 

2h 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

;

 

 

 

 

 

 

 

3y0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+

 

 

(x − x

3

)(x − x

2

)(x − x

1

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6h3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P ( x) = 1 − 2

x −1.5

+

 

− 3

 

 

(x −1.5)(x − 1) +

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

0.5

 

 

2(0.5)2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

− 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+

 

(x

−1.5)(x − 1)(x − 0.5) == −4x3 + 6x2 + 1

 

 

6(0.5)3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Варианты задаются по номерам столбцов табл.2.4 и 2.5 в виде

дробей:

N x

, например,

2

означает, что для узловых точек по х и

 

9

 

N y

 

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

ставить в виде: P3 (x) = a0 + a1 x + a2 x 2 + a3 x3 ,

где коэффициенты правильные или не правильные дроби, не де- сятичные. Проверка производится подстановкой узловых точек.

Таблица 2.4

 

Варианты N x

n

1

2

3

0

0

-0,5

-1

1

0,5

0

-0,5

2

1

0,5

0

18

3

1,5

1

0,5

Таблица 2.5

 

 

 

 

 

 

 

Варианты N y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

0

-1

2

1

-1

2

1

-1

2

1

1

-1

0

2

2

1

1

2

-1

2

0

1

1

2

-2

2

-1

-1

-1

0

1

-2

2

1

1

-1

-1

-1

-1

-2

-1

-1

2

2

2

-1

0

-1

3

1

0

1

2

2

2

1

1

-1

1

-2

1

2

-2

-1

3. Численные методы решений трансцендентных и алгебраи- ческих уравнений

Общий вид уравнения f (x) = 0 . Решить уравнение, т.е. найти его корень, означает определить x* такое, что f ( x* ) ≡ 0 .

Во многих случаях точное значение x* найти невозможно, поэтому используются приближенные методы, когда значение корня определяется с заданной точностью ε . Геометрически корень

– это пересечение f (x) оси x Задача делится на 2 этапа:

1.Отделение корня – т.е. нахождение интервала, на котором изолирован единственный нужный нам корень. Выбор интервала производится путем анализа знака f (x) в ряде пробных точек. Этот процесс в общем виде не алгоритмизируется.

2.Уточнение положения корня на интервале изоляции. Свойства функции на интервале изоляции [a, b]:

f (x) непрерывна на [a, b]

f (x) меняет знак на [a, b],

f (a) f (b) < 0 ,

(3.1)

 

 

19

 

т.е. корень существует.

 

f (x)

монотонна на [a, b] , т.е. f ′( x) > 0 или f ′( x) < 0 что

 

обуславливает единственность корня

 

f (x)

не имеет точек перегиба, т.е. f ′′(x) > 0

или

 

f ′′(x) < 0 , что необходимо для сходимости некоторых ме-

 

тодов.

 

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

f (xn ε ) f ( xn + ε ) < 0

(3.2)

Для этого необходимо, чтобы процесс итераций сходился. Рассмотрим несколько итерационных процедур.

3.1 Метод простой итерации для решения нелинейных и трансцендентных уравнений

 

Уравнение

f (x) = 0 преобразуется к виду

x = ϕ (x) , если

 

ϕ ′(x)

 

< 1, то итерационный процесс:

 

 

 

 

 

 

 

 

 

 

 

 

xk +1 = ϕ ( xk )

(3.1.1)

сходится

 

к

точному

значению.

Действительно,

 

xk +1 xk

 

= ϕ (xk ) − ϕ (xk −1) , из теоремы о среднем следует оценка:

 

xk +1 xk

 

M1

 

xk xk −1

 

, т.е.,

расстояние между точками после-

 

 

 

 

довательности уменьшается, если M1 < 1 - ( M1 = max ϕ ′ ). По тео-

реме о неподвижной точке в этом случае существует предел - решение уравнения. Начальная точка x0 - любая точна интерва-

ла изоляции. Скорость сходимости в этом случае зависит от вида ϕ (x) . Уравнение f (x) = 0 к преобразуется к итерационному виду различными способами. Существует также общий метод. Урав-

20

нение идентично следующему: x = x λf (x) , производная правой части должна быть меньше 0 , это возможно, если λ < 2 M1 .

3.2 Метод хорд и секущих.

На интервале [a,b] заменим f (x) интерполяционным полиномом, проходящем через точки (a, f (a) и (b, f (b)):

P (x) = f (a) +

f (b) − f (a)

 

(x a) .

 

1

b a

 

 

 

В качестве первого приближенного значения корня выберем ко-

рень полинома P (x) = 0 , тогда:

 

1

 

 

 

x = a

f (a)(b a)

.

(3.2.1)

 

1

f (b) − f (a)

 

 

 

Далее, если поведение f ′′(x) неизвестно, то выбирают интервал,

на котором f (x) меняет знак [a; x1] или [x1;b], и на нем строят

новую хорду (т.е. в формулу подставляем новые границы интервала), и т.д. до достижения заданной точности (3.2).

′′

 

Если f (x) не имеет точки перегиба на [a;b], то один из концов

множества хорд неподвижен, условие неподвижной точки:

′′

 

с = a, еслиf (a) f (a) 0

(3.2.2)

b, еслиf (b) f ′′(b) 0

 

Анализ f ′′(x) позволяет определить неподвижную точку c и для нахождения xn+1 использовать итерационную формулу:

x +

= ϕ(x ) = x

f (xn )

(c x

),

(3.2.3)

n 1

n

n

f (c) − f (xn )

n

 

 

 

 

 

 

 

 

причем x0 = c .

Метод секущих является двухшаговым методом т.е. следующее приближенное значение корня находится по двум