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

Численные методы в задачах математического моделирования и исследования математических моделей объектов. Учебно-методическое пособие

.pdf
Скачиваний:
0
Добавлен:
15.08.2026
Размер:
928 Кб
Скачать

 

 

 

 

Окончание таблицы

 

 

 

 

 

 

1

2

3

4

 

5

 

0.10

- 0.04

- 0.63

 

- 0.15

4

- 0.04

0.34

0.05

 

0.31

- 0.43

0.05

0.13

 

0.37

 

 

 

0.63

0.05

0.15

 

0.34

5

0.05

0.34

0.10

 

0.32

0.15

0.10

0.71

 

0.42

 

 

 

1.20

- 0.20

0.30

 

- 0.60

6

- 0.50

1.70

- 1.60

 

0.30

 

- 0.30

0.10

- 1.50

 

0.40

 

0.30

1.20

- 0.20

 

- 0.60

7

- 0.10

- 0.20

1.60

 

0.30

- 1.50

- 0.30

0.10

 

0.70

 

 

 

0.20

0.44

0.91

 

0.74

8

0.58

- 0.29

0.05

 

0.02

0.05

0.34

0.10

 

0.32

 

 

 

6.36

1.75

1.0

 

41.70

9

7.42

19.03

1.75

 

49.49

 

1.77

0.42

6.36

 

27.67

 

3.11

- 1.66

- 0.60

 

- 0.92

10

- 1.65

3.15

- 0.78

 

2.57

0.60

0.78

- 2.97

 

1.65

 

 

Контрольные вопросы

1.К какому типу решения систем линейных уравнений – прямому или итерационному – относится метод Гаусса?

2.В чем заключается выполнение операций прямого и обратного хода в схеме единственного деления?

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

4.Как строится итерационная последовательность для нахождения решения системы линейных уравнений?

5.Как формулируются достаточные условия сходимости итерационного процесса при решении систем линейных уравнений?

6.Как условия сходимости связаны с выбором метрики простран-

ства?

7.В чем отличие итерационного процесса метода Зейделя от аналогичного процесса метода простой итерации?

61

Лабораторная работа №3 ИНТЕРПОЛИРОВАНИЕ ФУНКЦИЙ

Пусть функция f (x) задана таблично, либо ее вычисление требует громоздких выкладок. Заменим приближенно функцию f (x) на какуюлибо функцию F (x) так, чтобы отклонение f (x) от F (x) было в заданной области в некотором смысле минимальным. Подобная замена называется аппроксимацией функции f (x) , а функция F (x) – аппроксимирующей (приближающей) функцией.

Классический подход к решению задачи построения приближающей функции основывается на требовании строгого совпадения значений f (x) и F (x) в конечном числе в точках xi ( i 0,1, 2,...), т. е.

F(x0 ) y0 , F(x1) y1 , F(xn ) yn . (1)

В указанном случае, когда ищется приближение функции на некотором конечном интервале, нахождение приближенной функции называют интерполяцией (или интерполированием), точки x0 , x1 ,…, xn , – узлами интерполяции.

Часто интерполирование ведется для функций, заданных таблицами с равноотстоящими значениями аргумента x . В этом случае шаг, с которым задаются табличные значения функции f (x) , равен h xi 1 xi ( i 0,1, 2,...) и является величиной постоянной. Для таких случаев построение интерполяционных формул как и вычисление по этим формулам заметно упрощается.

Интерполяционным многочленом Лагранжа второго порядка называется многочлен вида

L2 (x) y0

(x x1)(x x2 )

 

y1

(x x0 )(x x2 )

y2

(x x0 )(x x1)

 

 

 

 

 

 

 

 

 

.

(2)

(x

x )(x

x

)

(x x )(x x )

(x

x )(x

x )

0

1

0

2

 

1

0

1

2

2

0

2

1

 

 

Задание 1

По заданной таблице значений функции составить формулу интерполяционного многочлена Лагранжа (2) и построить график Исходные данные берутся из табл. 1.

62

 

 

 

 

 

 

 

Таблица 1

 

 

Исходные данные

 

 

 

 

Номер варианта

 

 

 

 

 

 

 

 

1

2

3

5

 

4

1

7

 

2

4

2

3

 

5

2

8

 

3

0

2

3

 

-1

-4

2

 

4

7

9

13

 

2

-2

3

 

5

-3

-1

3

 

7

-1

4

 

6

1

2

4

 

-3

-7

2

 

7

-2

-1

2

 

4

9

1

 

8

2

4

5

 

9

-3

6

 

9

-4

-2

0

 

2

8

5

 

10

-1

1.5

3

 

4

-7

1

 

11

2

4

7

 

-1

-6

3

 

12

-9

-7

-4

 

3

-3

4

 

13

0

1

4

 

7

-1

8

 

14

8

5

0

 

9

2

4

 

15

-7

-5

-4

 

4

-4

5

 

Задание 2

Интерполяционным многочленом Лагранжа порядка n называется многочлен, определяемый следующим выражением:

 

 

 

 

n

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

 

 

 

 

Ln (x) yi

.

(3)

 

 

(x x )...(x x

 

)(x x

 

)...(x x )

 

 

 

 

i 1

 

 

 

 

 

 

 

 

i 0

 

 

 

 

 

i

n

 

 

 

 

 

 

 

i i 1

i i 1

 

 

Для погрешности Rn (x) приближения функции

f (x)

с использо-

ванием данного многочлена Лагранжа выполняется неравенство

 

 

 

 

Rn (x)

 

 

 

M n 1

 

 

n 1 (x)

 

,

 

x x0 , xn ,

 

 

(4)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(n 1)!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где M

n 1

max

f (n 1) (x)

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вычислить одно значение заданной функции для промежуточного значения аргумента x a с помощью интерполяционного многочлена Лагранжа порядка n и оценить погрешность интерполяции. Для выполнения задания исходные данные и вид функции берутся из табл. 2–4.

 

 

 

 

Таблица 2

 

Исходные данные по вариантам

 

Номер варианта

 

Значение, а

 

Номер таблицы

1

 

-2

 

3

2

 

3.77

 

4

3

 

0.55

 

3

4

 

4.83

 

4

5

 

3.5

 

3

6

 

5.1

 

4

7

 

1.75

 

3

8

 

4.2

 

4

9

 

-1.55

 

3

10

 

6.76

 

4

63

Таблица 3

Исходные данные

 

 

x

 

 

-3.2

 

-0.8

 

0.4

 

2.8

 

4.0

 

6.4

 

7.6

 

f (x) 2,1 sin(0,37 x)

-1.94

-0.61

 

0.31

1.81

2.09

 

1.47

 

0.68

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 4

 

 

 

 

 

 

 

 

Исходные данные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

1.3

 

2.1

3.7

 

 

4.5

 

6.1

 

7.7

 

8.5

 

f (x)

 

lg(x)

 

1.777

 

4.563

13.84

 

20.39

 

37.34

 

59.41

 

72.4

 

 

x x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Задание 3

Первой интерполяционной формулой Ньютона называется многочлен вида

P (x) y

t y

 

t(t 1)

2 y

 

t(t 1)(t 2)

3 y

,

(5)

 

 

2

0

0

2!

0

3!

0

 

 

 

 

 

 

 

 

 

где t

x x0

.

 

 

 

 

 

 

 

 

h

 

 

a, b определяется

Ошибка интерполяции функции на интервале

следующим выражением:

 

 

 

 

 

D

t(t 1)(t 2)

 

(6)

 

 

 

 

 

3!

f ( ) ,

где – некоторая внутренняя точка наименьшего промежутка, содер-

жащего все узлы xi , ( i 0,..., n ) и x .

Уплотнить часть таблицы, содержащей заданные на отрезке a, b

значения функции с использованием интерполяционного многочлена Ньютона (5) и оценить погрешность интерполяции D на основе форму-

лы (6). Табл. 8, содержащую конечные разности, просчитать вручную

 

на отрезке a, b

с шагом h . Для выполнения задания исходные данные

 

берутся из табл. 5, 6 и 7.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 5

 

 

 

 

Исходные данные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

0.10

0.15

0.20

 

0.25

0.30

0.35

0.40

 

f (x) cos(x)

 

0.995

0.988

0.980

 

0.969

0.955

0.939

0.921

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 6

 

 

 

 

Исходные данные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

0.65

 

0.70

 

0.75

 

0.80

 

0.85

 

0.90

 

0.95

 

f (x) sin(x)

 

 

0.605

 

0.644

 

0.681

 

0.71

 

0.75

 

0.783

 

0.813

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

64

 

 

 

 

 

 

Таблица 7

 

 

Исходные данные по вариантам

 

 

 

 

 

 

 

 

 

 

 

 

 

Номер

п/п

 

 

 

 

 

таблицы

 

 

 

 

 

 

 

1

0.65

 

0.80

0.05

0.01

3.6

 

 

 

 

 

 

 

2

0.25

 

0.40

0.05

0.025

3.5

 

 

 

 

 

 

 

3

0.75

 

0.90

0.05

0.01

3.6

 

 

 

 

 

 

 

4

0.70

 

0.85

0.05

0.025

3.6

 

 

 

 

 

 

 

5

0.80

 

0.95

0.05

0.025

3.6

 

 

 

 

 

 

 

6

0.1

 

0.25

0.05

0.025

3.5

 

 

 

 

 

 

 

7

0.15

 

0.3

0.05

0.025

3.5

 

 

 

 

 

 

 

8

0.7

 

0.85

0.05

0.025

3.6

 

 

 

 

 

 

 

9

0.2

 

0.35

0.05

0.01

3.5

 

 

 

 

 

 

 

10

0.80

 

0.95

0.05

0.01

3.6

 

 

 

 

 

 

 

Таблица 8

x

y

y0

 

2 y

0

 

 

3 y

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x0

y0

y0 y1 y0

2 y y y

3 y 2 y 2 y

0

 

 

 

 

0

1

0

0

 

1

 

 

 

 

 

 

 

 

 

 

x1 x0 h

y

y1 y2 y1

2 y y

2

y

 

 

 

 

 

 

1

 

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x2 x0 2h

y

2

y2 y3 y2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x3 x0 3h

y3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Соотношение (5) используется, если вычисляемое значение функции связано с переменной, лежащей ближе к началу отрезка a, b . В том случае, когда вычисляемое значение функции связано с переменной, лежащей ближе к концу отрезка a, b , применяют вторую формулу Ньютона – интерполирование назад на основе формулы (6):

 

P (x) y

 

t y

 

 

t(t 1)

2 y

 

 

t(t 1)(t 2)

3 y

 

,

 

n

n 1

 

n 2

 

n 3

 

 

n

 

 

 

 

2!

 

3!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где t

x xn

и D

t(t 1)(t 2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h

 

 

3!

 

 

 

f ( ) .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ниже приведен примерный фрагмент выполнения лабораторной работы. Построить интерполяционный многочлен Лагранжа второго порядка, проходящий через точки: x0 : 2 , x1 : 3, x2 : 5 , y0 : 4, y1 : 1, y2 : 7.

65

Требуемый многочлен имеет вид

L (x) 4

(x 3)(x 5)

 

(x 2)(x 5)

7

(x 2)(x 3)

,

 

 

 

2

(2

3)(2

5)

 

(3 2)(3 5)

 

(5 2)(5 3)

 

 

 

который после преобразования принимает следующую форму

L2 (x) 2x2 13x 22 .

На рисунке приведен график рассматриваемого интерполяционного полинома.

График рассматриваемого интерполяционного полинома

Контрольные вопросы

1.В чем заключается особенность приближения таблично заданной функции методом интерполирования?

2.Как обосновывается существование и единственность интерполяционного многочлена?

3.Как связана степень интерполяционного многочлена с количеством узлов интерполяции?

4.Как строятся интерполяционные многочлены Лагранжа и Нью-

тона?

5.В чем особенности этих двух способов интерполяции?

6.Как производится оценка погрешности метода интерполяции многочленом Лагранжа?

7.Как используется метод интерполирования для уточнения таблиц функций?

8.В чем отличие между первой и второй интерполяционными формулами Ньютона при интерполяции на отрезке?

66

Лабораторная работа №4 ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ

Формулы, используемые для приближенного вычисления однократных интегралов, называют квадратурными формулами. Простой прием построения квадратурных формул состоит в том, что подынтегральная функция f (x) заменяется на отрезке a, b интерполяционным

многочленом, например многочленом Лагранжа Ln (x) . Это позволяет с

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

b

b

 

f (x)dx Ln (x)dx .

(1)

a

a

 

При записи формулы (1) предполагается, что отрезок a, b разбит

на n частей точками (узлами)

xi , выбор которых осуществляется так

же, как и при построении многочлена Ln (x) . Для равноотстоящих узлов

x x

h , где h

b a

, x

a ,

x b .

 

i 0

 

n

0

 

n

 

 

 

 

 

При замене интерполяционного полинома Лагранжа кусочнопостоянной функцией может быть получена формула трапеций, которая имеет следующий вид:

b

y

y

 

 

 

 

 

 

n

 

 

 

f (x)dx h

0

 

y1 y2

... yn 1

,

(2)

 

 

 

a

 

 

2

 

 

 

 

 

где yi значения функции в узлах интерполяции ( i 1,..., n ).

При использовании метода трапеций для оценки погрешности метода интегрирования по формуле (2) получаем следующее соотношение:

 

 

 

 

 

 

 

M

 

 

b a

 

 

h2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R (x)

 

 

 

 

 

 

,

(3)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

12

 

 

 

где M max

 

f (x)

 

,

x a, b .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Во многих случаях более точный результат получается при использовании формулы Симпсона (формулы парабол), основанной на квадратичном приближении интегрируемой функции между узлами интерполяции:

b

2h y

y

 

 

 

 

f (x)dx

2n

 

 

 

 

0

 

2 y1 y2

... 2 y2n 1 .

(4)

 

 

 

 

a

3

 

2

 

 

 

 

67

h 0,1

Для формулы Симпсона оценка погрешности определяется следующим соотношением:

 

 

 

 

 

 

M

 

 

b a

 

h4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R (x)

 

 

 

 

 

,

(5)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

180

 

 

где M max

 

f (4) (x)

 

, x a, b .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Задание 1

Составить программу вычисления интеграла от заданной функции на отрезке a, b с использованием метода трапеций с шагом и

h 0,05. Сравнить результаты. Оценить точность по формуле (3). Сравнить результаты. Исходные данные для выполнения задания берутся из табл. 1.

Таблица 1

Исходные данные по вариантам

Номер

Функция

 

 

варианта

 

 

 

 

 

1

0,37 exp(sin x)

0

1

 

 

 

 

 

 

 

 

2

 

0,5x x ln x

 

1

2

 

 

 

 

 

 

 

 

3

(x 1,9) sin x

3

1

2

 

 

 

 

 

 

 

 

4

 

x 1 ln x 2

 

2

3

5

 

 

3cos x

 

0

1

 

 

 

 

 

 

 

2x 1,7

 

 

 

 

 

 

 

 

 

 

 

 

 

6

(2x 0,6)cos x

2

1

2

 

 

 

 

 

 

7

 

2,6x2 ln x

 

1.2

2.2

8

(x2 1)sin x 0,5

1

2

9

 

x2 cos x 4

 

2

3

10

 

sin 0, 2x 3

 

3

4

 

 

x2 1

 

 

 

 

 

 

 

Задание 2

Составить программу вычисления интеграла от заданной функции на отрезке a, b по формуле Симпсона методом повторного счета с

точностью : 10 6 . Исходные данные для выполнения задания берутся из табл. 1.

Примерный фрагмент выполнения лабораторной работы

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

68

Вычислить интеграл от заданной функции на отрезке a, b по формуле трапеций и формуле Симпсона. Сравнить получаемы е резуль-

таты.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a : 0 , b : 1 ,

f (x) sin6 x .

 

 

(6)

Задаем число узлов разбиения n

и определяем

h :

b a

. Вычисля-

n

 

 

 

 

 

 

 

 

 

 

 

 

 

ем значения функции в узлах сетки

 

 

 

 

 

 

 

i : 0...n , x : a i h , y : f (x ) sin6 x .

 

 

 

 

 

i

 

 

i

i

i

 

Получаемое значение интеграла по формуле трапеций

 

 

 

 

 

y

y

 

 

 

 

 

 

 

I1

: h

0

n

y1

y2

... yn .

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Получаемое значение интеграла по формуле Симпсона

 

 

 

 

h

n 2

n 2 1

 

 

 

 

 

I2

 

 

y0 4 y2i 1 2 y2i y2n .

 

 

 

 

 

 

 

 

 

 

 

3

i 1

i 1

 

 

 

 

Результаты вычислений интеграла (6) с использованием обеих

формул приведены в табл. 2.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 2

 

 

 

 

Исходные данные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

I1

 

 

 

 

 

I2

 

4

 

0,073

 

 

 

 

 

0,186

 

6

 

0,069

 

 

 

 

 

0,065

 

8

 

0,067

 

 

 

 

 

0,065

 

10

 

0,067

 

 

 

 

 

0,065

 

Точное (аналитически вычисленное значение интеграла) равно

0,065.

Контрольные вопросы

1.Какие преимущества имеет использование формулы парабол по сравнению с использованием формулы трапеций? Следствием чего являются эти преимущества?

2.Верны ли формулы (2), (4) для случая неравномерного расположения узлов?

3.В каких случаях использование приближенных формул трапеций и парабол дает точные результаты?

4.Как влияет на точность численного интегрирования величина

шага?

5.Каким способом (на основе каких формул) можно прогнозировать примерную величину шага для достижения заданной точности интегрирования?

6.Можно ли добиться неограниченного уменьшения погрешности интегрирования путем последовательного уменьшения шага?

69

y f (x, y)

Лабораторная работа №5 ЧИСЛЕННОЕ РЕШЕНИЕ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ

Пусть дано дифференциальное уравнение первого порядка

y f (x, y) ,

(1)

в котором y есть производная функции y .

 

Требуется найти на отрезке a, b решение y(x) , удовлетворяющее

начальному условию

 

y(a) y0 .

(2)

Будем предполагать, что условия теоремы существования и единственности решения выполнены. Для решения используем метод Эйлера (метод первого порядка точности) и метод Рунге-Кутта (метод четвертого порядка точности) с шагом h и 2h. Необходимо отметить, что получаемые на основе указанных методов решения могут сильно различаться ввиду того, что метод Эйлера, имеющий только первый порядок точности, используется, как правило, только для оценочных расчетов. Ориентировочная оценка погрешности метода Рунге-Кутта определена в работе [2].

В соответствии с используемыми методами решение на (i 1)

шаге (значение функции yi 1 ) определяется выражениями:

 

 

yi 1 yi h f xi , yi

для метода Эйлера,

(3)

y

y

k1 2k2 2k3 k4

для метода Рунге-Кута

(4)

 

i 1

i

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

четвертого порядка.

 

В формулах (3) и (4):

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h

 

h k

 

 

 

k1 h f xi , yi , k2 h f xi

 

, yi

1

;

 

 

2

2

 

 

 

 

 

 

 

 

 

 

 

 

 

h

 

 

h k

2

 

 

k4 h f xi h, yi h k3 .

k3

h f xi

 

 

, yi

 

 

 

,

2

2

 

 

 

 

 

 

 

 

 

 

Погрешность представления решения определяется выражением

 

y2h yh

.

(5)

 

15

 

 

В выражениях (3)–(5) h – шаг разбиения отрезка a, b .

 

Задание 1

Написать программу решения дифференциального уравнения методом Эйлера на отрезке a, b с шагом h и 2h и началь-

ным условием y(a) y0 . Исходные данные для выполнения задания берутся из таблицы. Сравнить полученные результаты решения.

70

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]