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

Учебное пособие 1993

.pdf
Скачиваний:
1
Добавлен:
30.04.2022
Размер:
3.63 Mб
Скачать
m 1 и дает в некотором смысле

Часто вместо равномерной близости рассматривают их близость “в среднем”. В качестве меры близости берут среднее квадратическое отклонение

m

 

(xi ) yi 2 .

 

i 0

 

Требование прохождение графика

аппроксимирующей

функции (x) через все заданные точки

M i (xi , yi ) не всегда

разумно по крайне мере по двум причинам:

1.Если узлов интерполяции много ( n велико), то с аппроксимацией трудно обращаться как при ручном счете, так

ипри машинном.

2.Часто табличные значения yi f (xi ) ( i 0,1,..., m )

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

ординате на величину, не превышающую погрешность измерений.

В связи с этим возникает задача приближения таблично заданной функции f (x) многочленом Pn (x) , который имеет не

слишком высокую степень n разумную точность аппроксимации.

Для решения этой задачи воспользуемся методом

наименьших квадратов.

В методе наименьших квадратов за

меру отклонения

многочлена

 

Pn (x)

от функции f (x)

принимается их среднее квадратичное отклонение

 

 

 

m

 

 

2 .

 

 

 

 

P (x

)

y

 

 

 

 

n i

 

 

i

 

 

 

i

0

 

 

 

 

 

Задача состоит в том, чтобы в

аппроксимирующем

многочлене

P (x) A

 

A x ...

A xn

подобрать

 

n

0

 

1

 

n

 

50

коэффициенты A0 , A1 ,..., An так, чтобы минимизировать

 

m

 

 

 

 

A xn

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

A x

i

...

 

y

( A , A ,..., A ).

 

Так

как

0

1

 

 

n i

 

i

 

0

1

 

 

n

 

 

 

 

 

 

i 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

коэффициенты A0 , A1,..., An

выступают в роли независимых

переменных функции

, то

условием

минимума

 

является

равенство нулю всех частных производных

 

 

 

,

 

,

 

 

A0

A1

…,

 

.

Приравнивая к нулю

эти

частные производные

An

получим систему уравнений

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

 

 

A x2

 

 

A xn

 

 

 

 

 

 

 

 

 

 

2

( A

 

A x

i

 

...

y

i

)

0

 

 

 

 

 

 

 

 

0

 

1

2 i

 

 

n

i

 

 

 

 

 

 

 

 

 

 

 

i

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

 

 

A x2

 

 

A xn

 

 

 

 

 

 

 

 

 

 

2

( A

 

A x

i

 

...

y

i

)x

i

0

 

 

 

 

 

 

0

 

1

2 i

 

 

n

i

 

 

 

 

 

 

 

 

 

i

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

 

 

A x2

 

 

A xn

 

 

 

2

 

 

 

 

 

 

2

( A

 

A x

i

 

...

y

i

)x

 

 

0

 

 

 

 

 

 

0

 

1

2 i

 

 

n

i

 

 

i

 

 

 

 

 

 

 

i

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

m

 

 

 

A x2

 

 

A xn

 

 

)xn

 

 

 

 

 

2

( A

 

A x

i

 

...

y

i

 

0.

 

 

 

 

 

0

 

1

2 i

 

 

n

i

 

 

i

 

 

 

 

 

 

 

i

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

После преобразования система принимает вид

51

 

 

 

m

 

 

m

 

 

 

m

 

m

 

 

 

 

 

 

 

 

 

A m

 

A

x

i

A

 

x 2 ...

A

xn

 

y

i

 

 

 

 

 

 

 

 

0

 

1

 

2

 

i

 

 

n

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

i 0

 

 

i

0

 

 

 

i 0

i

 

0

 

 

 

 

 

 

 

 

 

m

 

m

 

m

 

 

 

m

 

 

 

m

 

 

 

 

 

 

A

x

i

A

 

x2

A

x3

...

A

xn

 

1

 

 

x

i

y

i

 

 

0

 

1

 

i

 

2

i

 

 

n

i

 

 

 

 

 

 

 

 

 

i

0

 

i

 

0

 

i

0

 

 

i

0

 

 

 

i

0

 

 

 

 

 

 

m

 

 

m

 

 

m

 

 

 

m

 

 

 

 

m

 

2 y

 

 

A

x

2

A

 

x3

A

x 4

...

A

xn

2

 

 

x

i

(2.42)

0

 

i

1

 

i

 

2

i

 

 

n

i

 

 

 

 

 

i

 

 

 

i

0

 

i

 

0

 

i

0

 

 

 

i 0

 

 

 

i

0

 

 

 

 

 

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

 

 

m

 

 

m

 

 

m

xn

2 ...

 

 

m

 

 

 

 

m

 

 

A

xn

A

 

xn

1

A

A

 

x

2n

 

 

 

 

xn y

i.

0

 

i

1

 

i

 

 

2

i

 

 

n

 

 

i

 

 

 

 

 

i

i

0

 

i

 

0

 

 

i 0

 

 

 

i

0

 

 

 

i

 

 

0

 

 

Определитель системы (2.42) отличен от нуля, поэтому

эта система имеет единственное решение A0 , A1,...,

An .

 

Метод наименьших квадратов

состоит из двух частей:

составление системы (2.42)

и решение полученной системы.

Метод наименьших квадратов

удобен с вычислительной

точки зрения для не слишком высокой степени многочлена n , а именно n 5 . На практике стараются подобрать многочлен как можно меньшей степени ( n 1,2,3 ). Если же n 5 , то система (2.42) может иметь определитель, хотя и отличный от нуля, но малый. Тогда система становится плохо обусловленной, то есть решение связано с большей потери точности.

Пример. Пусть на основании эксперимента получены

значения функции

y

f (x) , которые записаны в таблице 7.

 

 

 

 

 

 

 

 

Таблица 7

 

x

0.5

 

 

1.0

1.5

2.0

2.5

3.0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

0.31

 

0.82

1.29

1.85

2.51

3.02

 

 

 

 

 

 

 

 

 

 

 

 

 

С помощью

метода

наименьших

квадратов

функцию

y f (x) аппроксимировать линейной функцией y

A0 A1x .

Решение. Составим систему (2.42) для определения A0 , A1

52

 

 

 

 

 

 

 

 

 

 

 

6

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A0 m

A1

 

xk

 

 

yk

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k

1

 

k 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

6

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

 

 

x

k

 

A

x 2

 

x

k

y

k

.

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

1

 

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k

1

 

 

k

1

 

k

1

 

 

 

 

 

 

 

 

 

 

 

Предварительно вычисляем

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xk

 

0.5 1

1.5

 

2

2.5

3

10.5 ,

 

 

 

 

 

 

 

 

 

k

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

2

0.25

1

2.25

4

6.25

9

22.75 ,

 

 

 

 

 

 

 

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

yk

0.31

0.82

1.29

1.85

2.51

3.02

9.8 ,

 

 

 

k

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xk yk

0.5 0.31

1 0.82

1.5 1.29

2 1.85 2.5 2.51 3 3.02

21.94.

k

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Следовательно,

6A0

10.5A1

9.8

 

 

 

 

 

 

 

 

 

 

10.5A0

22.75A1

21.94.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Решая эту систему, находим A0

 

и A1 : A0

 

 

0.28 , A1

1.09.

 

 

 

Искомый многочлен

y

1.09x

0.28 .

 

 

 

 

 

 

 

 

 

Задачи для самостоятельного решения

 

 

 

 

 

1.

Дана таблица 8

значений функции:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 8

 

 

 

 

x

 

1

 

 

2

 

3

 

4

 

 

 

5

 

 

6

 

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

 

3

 

 

7

 

13

 

21

 

 

31

 

43

 

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Найти приближенное значение функции при x

3.1:

 

 

 

 

а)

с помощью линейной интерполяции;

 

 

 

 

 

б)

с помощью квадратичной интерполяции;

 

 

53

в)

 

с помощью формулы Лагранжа;

 

 

 

 

 

 

 

 

 

 

г)

с помощью формулы Ньютона.

 

 

 

 

 

 

 

 

 

 

 

 

2. Построить интерполяционный многочлен Лагранжа

четвертой степени, совпадающий с функцией

y

2 cos

 

x

в

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

точках

x

 

2 ;

x

 

 

4

;

 

x

 

0 ;

x

 

 

 

4

; x

 

 

2 .

 

 

 

 

 

 

 

 

0

 

 

 

 

1

 

 

 

3

 

 

 

2

 

 

 

3

 

 

3

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.

 

С помощью интерполяционной

 

формулы Ньютона

вычислить

f (1.14) , если

 

f (x)

задана

таблицей 9:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 9

 

 

 

 

 

x

 

 

1.00

 

1.04

 

1.08

 

1.12

 

1.16

 

 

1.20

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

 

1.543

 

1.591

 

1.642

 

1.696

 

1.752

 

1.811

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4.

 

 

Вычислить функцию

y

 

sh(1.28)

 

 

с помощью

формулы

Ньютона,

 

пользуясь таблицей

 

значений функции

sh(x) . Используя:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а) линейную интерполяцию;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

б) квадратичную интерполяцию.

 

 

 

 

 

 

 

 

 

 

5.

 

Способом

наименьших

квадратов

подобрать

для

заданных значений

x и

 

y

(таблица 10)

линейную функцию

y a0

a1x :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 10

 

 

 

 

 

 

x

 

 

1

 

 

 

2

 

 

 

3

 

 

4

 

 

5

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

 

 

2

 

 

4.9

 

 

7.9

 

11.1

 

14.1

17

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6.

 

Способом

 

наименьших

квадратов

подобрать

для

заданных значений

 

x

 

 

и

 

y

(таблица 11)

квадратичную

функцию y

 

a

0

a x

 

a

2

x2 :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 11

 

 

 

 

 

 

x

 

 

87.5

 

 

84.0

 

77.8

 

63.7

 

46.7

36.9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

 

 

292

 

 

283

 

270

 

235

 

197

181

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

54

3.ЧИСЛЕННЫЕ МЕТОДЫ ЛИНЕЙНОЙ АЛГЕБРЫ

Выделяют четыре основных задачи линейной алгебры:

1.Решение систем линейных уравнений;

2.Вычисление определителя;

3.Нахождение обратной матрицы;

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

3.1. Линейные системы уравнений

Решение систем линейных уравнений одна из наиболее часто встречающихся задач в научных исследованиях. При этом число уравнений обычно равно числу неизвестных. Такую систему коротко можно записать в матричной форме:

 

 

A x

b ,

 

 

 

(3.1)

где A -

заданная квадратная матрица порядка

n ,

b -

заданный вектор-столбец с n компонентами,

x - неизвестный

вектор столбец с n компонентами.

 

 

 

 

Известно, что

если

det A 0 ,

то

система

имеет

единственное решение (невырожденная система). Его

можно

найти по правилу Крамера.

 

 

 

 

 

Если

det A 0 ,

то

система

имеет

бесчисленное

множество

решений

или

не имеет решения. Мы

будем

рассматривать только первый случай.

 

 

 

 

 

3.2. Метод исключения Гаусса

 

 

 

Методы решения линейных систем делятся на

прямые и

итерационные. Прямые методы дают решение за конечное число шагов, просты и наиболее универсальны. Для систем небольшого порядка (n 200) применяются практически

только прямые методы.

Итерационные методы выгодны для систем специального вида, со слабозаполненной матрицей очень большого порядка n 103 105 .

55

Метод Гаусса прямой метод. Он основан на приведении матрицы системы к треугольному виду. Это достигается с помощью последовательного исключения переменных из уравнений системы. Сначала с помощью первого уравнения исключается x1, из всех последующих уравнений системы.

Затем с помощью второго уравнения исключается x2 из

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

не останется лишь один член

с неизвестным

xn . При этом

матрица системы будет приведена к треугольному виду.

 

Обратный

ход

 

метода Гаусса

состоит в

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

последнее

уравнение,

находим

единственное значение xn ,

используя его, из предыдущего уравнения вычисляем

xn 1 и

т.д. Последним найдем x1

из первого уравнения.

 

Рассмотрим

 

применение метода Гаусса для системы трех

уравнений:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a11 x1

 

a12 x2

a13 x3

b1

 

 

 

 

 

a21

 

 

a31

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a21 x1

 

a22 x2

 

a23 x3

b2

 

 

 

 

a11

 

 

a11

.

 

 

a31 x1

 

a32 x2

a33 x3

b3

 

 

 

 

 

 

 

 

 

 

 

 

a11 x1

 

a12 x2

a13 x3

b1

 

 

 

 

a32

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

22

x

2

a

23

x

3

b

 

 

 

 

 

.

 

 

(3.2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

a22

 

 

 

 

 

 

 

 

 

 

 

a32 x2

a33 x3

b3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Для

исключения

x1

из второго

 

уравнения прибавим к

нему первое, умноженное на

 

 

a21

 

.

Затем умножим

первое

 

 

a11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

уравнение

 

a31

 

и прибавим результат к третьему уравнению,

 

a11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

56

также исключим из него x1 . Получим

равносильную

систему

уравнений вида

 

(3.2). Здесь

 

 

 

 

 

 

 

 

 

 

 

a

ij

a

ij

 

ai1

a

 

,

i, j

 

 

2,3 ;

b

b

 

 

ai1

 

b ,

i

2,3 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a11

1 j

 

 

 

 

 

 

i

i

 

 

a11

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Теперь из третьего уравнения нужно исключить

x2 . Для

этого

умножим второе уравнение на

 

a32

 

 

и

прибавим

 

a22

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

результат к третьему уравнению. Получим

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a11 x1

a12 x2

a13 x3

b1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a22 x2

a23 x3

b2

 

 

 

(3.3)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a33 x3

b3

 

 

 

 

 

 

 

 

 

 

 

 

a

33

 

 

a

33

a32

 

a

23

;

b

b

 

a32

 

b .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a22

 

3

3

 

a22

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Матрица системы (3.3) имеет треугольный вид. На этом заканчивается прямой ход метода Гаусса.

Замечание. В процессе исключения неизвестных приходится выполнять операции деления на коэффициенты ak k . Поэтому они должны быть отличны от нуля. В противном

случае нужно соответственным образом переставить уравнения системы. Перестановка уравнений должна быть предусмотрена в вычислительном алгоритме при его реализации на ЭВМ.

Обратный ход начинается с решения третьего уравнения системы (3.3)

x3 b33 . a33

Используя это значение, можно найти x2 из второго уравнения, а затем x1 из первого:

x

 

1

(b a

 

x

 

) ,

x

1

(b a x

 

a x

 

) .

2

 

23

3

 

2

3

 

2

 

 

1

1

12

13

 

 

 

a22

 

 

 

 

 

a11

 

 

 

 

 

57

Одной из модификаций метода Гаусса является схема с выбором главного элемента. Здесь требование akk 0

заменяется более жестким: из всех оставшихся в k -м столбце элементов нужно выбрать наибольший по модулю элемент и переставить уравнения так, чтобы этот элемент оказался на месте элемента ak k .

Благодаря выбору наибольшего по модулю ведущего элемента уменьшаются множители, используемые для преобразования уравнений. Это способствует снижению погрешностей вычислений. Поэтому метод Гаусса с выбором главного элемента обеспечивает приемлемую точность решения для сравнительно небольшого ( n 100 ) числа уравнений.

Только для плохо обусловленных систем решения, полученные по этому методу ненадежны.

Метод Гаусса целесообразно использовать для решения систем с плотно заполненной матрицей. Все элементы матрицы и правые части системы уравнений находятся в оперативной памяти машины.

Объем вычислений определяется порядком системы n :

число арифметических операций примерно равно 23 n3 .

Пример. Рассмотрим алгоритм решения линейной системы методом Гаусса и некоторые особенности этого метода на числовом примере.

10x1

7x2

7

 

0.3

0.5

3x1

2x2

6x3

4

 

 

 

5x1

x2

5x3

6

 

 

 

10x1

7x2

7

 

 

 

 

 

 

 

0.1x2

6x3

6.1

25 .

 

2.5x2

5x3

2.5

 

 

58

Прежде чем исключать x2 из третьего уравнения, заметим, что коэффициент при x2 (ведущий элемент) мал.

Поэтому было бы лучше переставить второе и третье уравнения. Однако сейчас проводятся вычисления в рамках точной арифметики и погрешности округлений не опасны.

Поэтому

умножим второе уравнение на

25 и сложим с

третьим:

 

 

 

 

 

10x1

7x2

 

7

 

 

0.1x2

6x3

6.1

 

 

 

155x3

155.

На этом заканчивается прямой ход метода Гаусса. Обратный ход состоит в последовательном вычислении x1 , x2 , x3 снизу вверх:

x3

155

1;

x2

6x3 6.1

1;

x1

7x2

7

0 .

 

 

0.1

 

10

 

155

 

 

 

 

 

 

 

 

 

 

Проверкой легко убедиться, что (0; 11;) и есть точное

решение системы.

Изменим теперь слегка коэффициенты системы таким образом, чтобы сохранить решение прежним и вместе с тем при вычислениях использовать округления. Такой будет система:

10x1

7x2

 

7

3x1

2.099x2

6x3

3.901

5x1

x2

5x3

6.

Исключение проведем в рамках арифметики с плавающей точкой, сохраняя пять разрядов числа. После первого шага получим:

10x1

7x2

 

7

 

0.001x2

6x3

6.001

 

2.5x2

5x3

2.5.

59