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

Малышев Вычислительная математика EQ3

.pdf
Скачиваний:
100
Добавлен:
08.03.2015
Размер:
671.93 Кб
Скачать

РЫБИНСКАЯ ГОСУДАРСТВЕННАЯ АВИАЦИОННАЯ ТЕХНОЛОГИЧЕСКАЯ АКАДЕМИЯ ИМ. П. А. СОЛОВЬЕВА

Р. А. МАЛЫШЕВ

ВЫЧИСЛИТЕЛЬНАЯ МАТЕМАТИКА

УЧЕБНОЕ ПОСОБИЕ

РЫБИНСК

2008

2

УДК 681.322(07)

Малышев Р. А. Вычислительная математика: Учебное пособие/РГАТА. – Рыбинск, 2008. – 77 с.

В настоящем пособии рассматриваются вопросы об особенностях математического моделирования и теоретические основы вычислительных методов как его инструмента. Рассмотрены методы обработки данных: интерполяция, аппроксимация, сглаживание, вычисление производных и интегралов.

Подготовлено на кафедре «Вычислительные системы» Рыбинской государственной авиационной технологической академии им. П. А. Соловьева в качестве учебного пособия для студентов специальности 230101 «Вычислительные машины, комплексы, системы и сети» направления 230100 «Информатика и вычислительная техника».

РЕЦЕНЗЕНТЫ:

Кафедра информационного сервиса Костромского государственного университета им. Н. А. Некрасова.

Заведующий ПЦК информатики Рыбинского полиграфического колледжа, программист Смирнов В. Б.

3

СОДЕРЖАНИЕ

Введение...........................................................................................................

5

1. Математическая обработка данных ............................................................

5

1.1. Основные определения. Классы функций..................................

5

1.2. Пространство многочленов .........................................................

7

2. Методы интерполяции.................................................................................

8

2.1. Интерполяция по Лагранжу.........................................................

8

2.2. Линейная интерполяция ............................................................

11

2.3. Приближения многочленами первой степени, близкие к

наилучшим равномерным.................................................................

14

2.4. Параболическая интерполяция..................................................

14

2.5. Кубическая интерполяция..........................................................

16

2.6. Метод разделённых разностей ..................................................

18

2.7. Итерационные методы интерполяции ......................................

21

3. Приближение кривых ................................................................................

23

3.1. Методы аппроксимации.............................................................

23

3.1.1. Метод наименьших квадратов для функций..........................

24

3.1.2. Метод Чебышева .....................................................................

28

3.1.3. Метод равномерного приближения........................................

28

3.2. Сглаживание...............................................................................

29

3.3. Метод сплайнов..........................................................................

30

3.3.1. Пространство сплайнов ..........................................................

31

3.3.2. Сплайны первой степени........................................................

33

3.3.3. Кубические сплайны ...............................................................

35

3.3.4. Эрмитовы кубические сплайны..............................................

36

3.3.5. Аппроксимация с помощью сплайна .....................................

40

3.3.6. Сглаживание с помощью сплайнов........................................

43

4. Многомерное пространство ......................................................................

47

4.1. Линейное интерполирование в трехмерном пространстве......

47

4.2. Линейное интерполирование в многомерном пространстве...

52

4.3. Аппроксимация многомерными сплайнами.............................

55

5. Методы дифференцирования ....................................................................

57

5.1. Дифференцирование с использованием формул разностей ....

59

5.2.Конечно-разностная аппроксимация производной

(двухточечная схема).........................................................................

60

5.3.Конечно-разностная аппроксимация производных

(трёхточечная схема) .........................................................................

61

4

5.4.Конечно-разностная аппроксимация производных

(четырёхточечная схема)...................................................................

62

6. Методы интегрирования............................................................................

63

6.1. Интегрирование по методу прямоугольников..........................

64

6.2. Интегрирование по методу трапеций........................................

65

6.3. Интегрирование по методу Симпсона ......................................

69

6.4. Формулы интегрирования Ньютона-Котеса старших порядков

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

70

6.5. Интегрирование по методу Ромберга........................................

71

6.6. Квадратурные формулы Гаусса .................................................

72

Заключение.....................................................................................................

76

Список литературы........................................................................................

77

5

ВВЕДЕНИЕ

Процесс научного познания часто приводит к количественным результатам. Именно эта количественная природа научных и технологических задач вызывает необходимость обработки числовой информации. В действительности ключ к пониманию многих задач заложен в том, насколько продуманно представлены описывающие их числовые данные. Напротив, плохое представление данных часто приводит к заблуждениям, неправильной интерпретации и даже к ошибкам исследователей. Из-за больших вычислительных возможностей часто используют для анализа экспериментальных данных персональный компьютер (ПК) [1].

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

1. МАТЕМАТИЧЕСКАЯ ОБРАБОТКА ДАННЫХ

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

Виды представления данных и методы их обработки приведены на рис. 1.1.

1.1. ОСНОВНЫЕ ОПРЕДЕЛЕНИЯ. КЛАССЫ ФУНКЦИЙ

На отрезке [a, b] вещественной оси будем рассматривать множество В, элементы которого непрерывные функции.

Если f(x) и g(x) – две функции из этого множества, а с – вещественное число, то cf(x) и f(x) + g(x) тоже являются его элементами. B – называется линейным пространством, а его элементы – точки линейного пространства [2].

Расстояние ρ(f, g) между двумя точками пространства или метрика – это вещественная функция пары точек, принимающая неотрицательные значения и удовлетворяющая следующим аксиомам метрики:

а) ρ(f, g) = 0, тогда и только тогда, когда f = g;

6

б) ρ(f, g) = ρ(g, f) (симметрия);

в) ρ(f, r) ≤ ρ(f, g) + ρ(g, r) (неравенство треугольника).

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

 

Эксперимент

 

 

Расчет

 

(снятие данных

 

 

 

Представление:

 

с датчиков)

 

 

 

 

 

 

 

 

 

 

 

Таблица

 

 

Аналитическое выражение

 

 

 

(формула)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сглаживание,

 

 

 

 

 

 

приближение

Усреднением

 

Сплайном

 

Многочленом

 

 

 

 

 

Дифференцирование:

По формулам разностей

Дифференцирование

многочленов

 

Интегрирование:

Методом

 

Методом

 

По формулам

 

Методом

 

По квадратурным

трапеций

 

Симпсона

 

Ньютона-

 

Ромберга

 

формулам

 

 

 

 

Котеса

 

 

 

Гаусса

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 1.1. Представление и методы обработки исходных данных процессов

Линейное пространство с метрикой называется метрическим пространством.

В множестве В введём расстояние формулой:

ρ( f , g ) = f (x) − g (x) = max x [a, b] f ( x) − g ( x) .

Это расстояние удовлетворяет всем аксиомам метрики и делает В метрическим пространством.

7

Каждый элемент f(x) метрического пространства можно характеризовать числом ||f(x)|| (расстоянием до нулевого элемента), называемым нормой элемента

ρ( f , 0) = f ( x) − 0 = max x [a, b] f (x) − 0 = max f ( x) .

Обозначим Cm[a, b] классы функций в пространстве В, имеющие на отрезке [a, b] непрерывные производные до m-го порядка включительно, т. е., если f(x) C3 то f ′(x), f ″(x), f ″′(x) – непрерывны на [a, b]. Если непрерывны производные до (m – 1)-го порядка, а m-е производные кусочнонепрерывны, то такой класс обозначим C(m)[a, b]. Значения функций f(x) и их производных f (p)(x) из этих классов можно представить в виде разложений по формуле Тейлора [2]:

 

 

 

 

 

 

 

 

(m −1)

 

 

 

 

 

f (x) = f (x

) + f '(x ) (x x

 

) + ... +

f

(xk )

(x x )(m −1)

+

η

 

(x) ,

k

 

 

m

k

 

k

 

 

 

(m −1)!

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

x

ζ)(m −1) f (m) (ζ)dζ,

 

 

 

 

 

ηm

 

 

(x

 

 

 

 

 

(x) =

 

 

 

 

 

 

 

 

(m −1)!

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

k

 

 

 

 

 

 

ζ– точка на множестве В.

1.2.ПРОСТРАНСТВО МНОГОЧЛЕНОВ

Многочлены Pn(x) = a0 + a1x + ... + anxn являются элементами пространства В. Функции 1, x, ... , xn , из которых конструируются многочлены степени n, линейно независимы, т. е. Pn(x) ≠ 0, если хотя бы один коэффициент ak ≠ 0. Число этих функций n + 1 (степени от 0 до n) – есть размерность пространства Мn, а сами они образуют базис последнего.

Вообще, базисом n + 1-мерного функционального пространства может быть любая совокупность n + 1 его линейно независимых функций. Так, во множестве Мn базисом является следующая система функций.

n

(x x j )

Фk (x) =

 

 

,

 

 

j = 0, j k ( xk

x j )

где отрезок [a, b] разбивается на n частей точками xk, a = x0 < x1 < ... < xn = = b, k = 0, ... , n.

8

Функции Фk(x) линейно независимы и образуют базис в Мn, т. е. любой многочлен из Мn можно представить в виде Pn(x) = c0Ф0(x) + ... +

+ cnФn(x).

Так как Φk

1,

при k = 1

(xi ) =

, то ck = Pn(xk), k = 0, ... , n.

 

0,

при k ≠ 1

Интерполяция – нахождение значения функции в некоторой промежуточной точке по отношению к заданным (табличным) данным.

Аппроксимация – представление или приближение заданных данных кривыми.

Экстраполяция – отыскание значения функции в некоторой удаленной точке за пределами отрезка, на котором определена функция.

2.МЕТОДЫ ИНТЕРПОЛЯЦИИ

2.1.Интерполяция по Лагранжу

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

ция [1 – 3].

Пусть в узлах xk [a, b] заданы значения функции fk = f(xk), k = 0, ... , n. Требуется найти многочлен Pn(x) из множества Мn, удовлетворяющий условиям Pn(xk) = fk, k = 0, ... , n. Решение задачи даёт интерполяционный многочлен Лагранжа: Ln(x) = f0Ф0(x) + ... + fnФn(x) [2].

 

n

 

(x x j )

Фk (x) =

 

 

,

 

 

j = 0, j k (xk x j )

где k = 0, ... , n,

 

 

 

 

 

1,

при k = 1

Φk

(xi ) =

.

 

 

0,

при k ≠ 1

В знаменателе значения в скобках – числа, следовательно, значение всего знаменателя – число. Таким образом, если раскрыть скобки в числителе, то получится полином n-го порядка от х, т. к. в числителе содержится n сомножителей 1-го порядка. Следовательно, интерполяционный многочлен Лагранжа – это обычный полином n-го порядка со специфической формой записи.

При интерполяции по Лагранжу задают n + 1 табличное значение (xi, fi), где i = 0, 1, .. , n. Предположим, что точки (xi, fi) принадлежат кривой

9

f = f(x) в интервале x0 x xn. Интерполяционный многочлен для этого метода имеет вид:

Ln(x) = f0Ф0(x) + f1Ф1(x) + ...+ fnФn(x),

где все Фj(x) – многочлены степени n, коэффициенты которых можно найти с помощью n + 1 уравнений: Ln(xi) = fi при i = 0, 1, .. , n.

В результате получим систему уравнений:

x = x0, Ln(x = x0) = f0;

f0Ф0(x0) + f1Ф1(x0) + ...+ fnФn(x0) = f0;

 

. . .

x = xn, Ln(x = xn) = fn;

f0Ф0(xn) + f1Ф1(xn) + ...+ fnФn(xn) = fn.

Если значения Фj(xi) выбраны так, что

Ф j ( xi

1,

при i = j

) =

,

 

0,

при i j

(т. е. Фj(xj) = 1), то выписанные выше уравнения будут удовлетворены. Это условие означает, что любой многочлен Фj(x) равен нулю при каждом xi кроме xj. Следовательно, в общем случае многочлен Фj(x) имеет вид:

Фj(x) = Cj(x x0) (x x1) ... (x xj – 1) (x xj + 1) ... (x xn).

Так как Фj(xj) = 1, то коэффициент Cj определяется выражением:

C j =

 

 

1

 

;

 

 

 

 

 

 

 

(x j x0 ) (x j x1 ) ... (x j x j −1 ) (x j x j +1 ) ... (x j xn )

 

 

 

 

Ф j (x)=

 

 

(x x0 )(x x1 )...(x x j −1 )(x x j +1 ) ...(x xn )

 

.

 

 

 

 

 

 

 

(x j

 

 

 

 

 

 

x0 )(x j x1 ) ... (x j x j −1 ) (x j x j +1 ) ... (x j xn )

Наконец для искомого многочлена получаем

 

 

 

 

n

 

(x x0 )(x x1 )...(x x j −1 )(x x j +1 ) ... (x xn )

 

 

 

Ln (x)= f j

 

 

 

 

.

 

 

 

 

j = 0

 

(x j x0 )(x j x1 )...(x j x j −1 )(x j x j +1 ) ... (x j xn )

Введя обозначения:

Lj(x) = (x x0) (x x1) ... (x xj – 1) (x xj + 1) ... (x xn),

можем записать полученный многочлен в более компактном виде:

n

L j

(x)

Ln (x) = f j

 

 

.

L j

 

j = 0

(x j )

10

Основным преимуществом лагранжевой интерполяции является её простота и быстрота.

Решить задачу аппроксимации табличных значений можно также с помощью наилучших приближениях непрерывных функций: равномерного (чебышевского) и среднего квадратического. Они весьма сложны по реализации. Один из путей уменьшения трудностей состоит в построении формул аппроксимации многочленами Pn(x), только похожих на наилучшие, близких к ним (рассмотрены ниже). Другой путь заключается в решении задач приближения не на отрезке [a, b], а на дискретном множестве

точек {xν, ν = 1, ... , N*} [a, b], N* > n + 1, т. е. искомый многочлен Pn(x)

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

приближающим многочленом и аппроксимируемой функцией в заданной метрике. Если обозначить через Rn(x) = Pn(x) – f(x) остаточный член аппроксимации, то погрешность будет ||Rn(x)||. Эта величина зависит от степени многочлена и дифференциальных свойств функции f(x), т. е. от максимального порядка непрерывной производной. При увеличении степени многочлена получаем последовательность (ряд) аппроксимаций. Если ||Rn(x)|| → 0, при n → ∞, то аппроксимирующий процесс сходится, в противном случае – расходится. Сходимость интерполяционных многочленов Лагранжа гарантируется далеко не во всех случаях.

Погрешность в точке xk [x0, xn] [3]:

n

R(x) = |f (x) − Ln (x)| ≤ (M n + 1/(n +1)!) (x xi ) ,

i = 0

где Mn + 1 = max|f (n + 1)(x)| – максимальное значение (n + 1) производной исходной функции f(x) на отрезке [x0, xn], т. е. функция должна быть дифференцируема n + 1 раз.

Пример 1 [3].

Дана таблично заданная функция

x

0

1

2

6

у

–1

–3

3

1187

Требуется найти у при х = 4. В данном случае n = 3. Запишем функцию Лагранжа подробно:

L3 ( x) = y0

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

+ y1

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

+

( x x )(x x )( x x )

( x x )(x x )( x x )

0

1

0

2

0

3

1

0

1

2

1

3