ВЫЧИСЛИТЕЛЬНАЯ МАТЕМАТИКА (34 часа)

реклама
Самуйлов Александр Захарович
ВЫЧИСЛИТЕЛЬНАЯ МАТЕМАТИКА 1
(Учебно–методический комплекс для студентов, объём курса 60 часов)
Выбор варианта. В условие задачи включена величина N , где N – две
последние цифры номера зачётной книжки. Это и есть индивидуальный
вариант задачи.
Оформление решения. При решении можно использовать любую
вычислительную технику, в том числе и системы компьютерной
математики (MATLAB, MathCAD и другие), однако целью курса является
не ответ, а изучение алгоритма вычислений, поэтому необходимо
представить последовательность операций и все промежуточные
результаты.
1. Предмет и методы вычислительной математики.
Вычислительная математика разрабатывает методы доведения до
числового результата решений основных задач математического анализа,
алгебры и геометрии. Численный метод решения задачи – это
определённая
последовательность
операций
над
числами
(вычислительный алгоритм). Языком численного метода являются числа и
арифметические действия. Такая примитивность языка позволяет
реализовать численные методы на компьютере, что делает эти методы
мощным и универсальным инструментом исследования.
Однако задачи, подлежащие решению, формулируются обычно на
математическом языке (языке уравнений, функций, производных,
интегралов и т. п.). Поэтому разработка численного метода необходимо
предполагает замену исходной задачи другой, близкой к ней, и
сформулированной в терминах чисел и арифметических операций.
Несмотря на всё разнообразие способов такой замены, некоторые общие
свойства присущи всем вычислительным алгоритмам. Эти свойства
демонстрирует следующий простейший пример.
Пример. Найти положительный корень уравнения x 2  2  0 , т.е.
извлечь квадратный корень из 2 . Можно написать ответ x  2 , но
символ
не решает задачи, так как не даёт способа вычисления
величины x .
Поступим следующим образом. Возьмём какое – либо начальное
приближение x0 (например, x0  1 ) и будем последовательно вычислять
значения x1 , x2 , x3 , . . . с помощью формулы
1 k
2
k 1
x   ( x    k  ) ,
2
x
получим:
x   1.5; x   1.416667; x   1.414216; x   1.414216; x    1.414216; . . .
1
2
3
4
5
1
Начиная с x3 , шесть цифр в дробной части не меняются, поэтому
2  1.414216 с точностью 106 .
Сформулируем теперь принципы, общие для всех численных методов:
1) Исходная задача заменяется другой задачей – вычислительным
алгоритмом;
2) Вычислительный алгоритм содержит параметр k , которого нет в
исходной задаче;
3) Выбором параметра k можно добиться любой близости решения
второй задачи к решению первой;
4) Неточная реализация алгоритма, вызванная округлениями, не меняет
существенно свойств алгоритма.
Задача 1. Выбрать начальное приближение x0 и вычислить N  2
по алгоритму
1 k
2
k 1
x   ( x    k  ) .
2
x
Если из числа N  2 корень извлекается точно, значение N  2
увеличить на 1.
2. Погрешности результатов численного решения задач.
Вычисления всегда выполняются с округлёнными числами и по
формулам, приближённо заменяющим исходную задачу, поэтому и ответ
будет приближённым числом. Задача заключается в том, чтобы следовать
правилам, обеспечивающим минимальную погрешность результата.
Принцип минимальности разности между числом d и его округлённым
значением d̂ приводит к следующему правилу округления:
если старший отбрасываемый разряд меньше 5, то предшествующая ему
цифра в числе не меняется;
если старший отбрасываемый разряд больше 5, то предшествующая ему
цифра в числе увеличивается на 1;
если старший отбрасываемый разряд равен 5, то предшествующая ему
чётная цифра в числе не меняется, а нечётная увеличивается на 1.
Значащими цифрами числа называются все цифры в его записи, начиная
с первой ненулевой слева. Значащие цифры подразделяют на верные и
сомнительные, исходя из понятия абсолютной и относительной
погрешности числа.
Погрешностью приближённого числа d̂ называется разность d̂  d
между ним и точным значением d . Так как точное значение неизвестно,
то и погрешность обычно неизвестна и можно найти только оценку
погрешности. Обозначим оценку погрешности приближённого числа d̂
символом  d̂ , тогда  d̂ определяется из неравенства
2
dˆ  d   dˆ .
Число  d̂ называется абсолютной погрешностью приближённого числа
 d̂ . Обычно выбирается возможно меньшее значение  d̂ . Абсолютные
погрешности записывают не более чем с двумя – тремя значащими
цифрами и в приближённом числе d̂ не следует сохранять те разряды,
которые округляются в его абсолютной погрешности. Округляются
абсолютные погрешности по своим правилам: только в большую сторону.
Количество верных значащих цифр числа отсчитывается от первой
значащей цифры до первой значащей цифры его абсолютной
погрешности; остальные цифры числа называют сомнительными. В
окончательных результатах вычислений обычно оставляют верные цифры
и одну сомнительную.
Пример. Длина и ширина комнаты, измеренные с точностью до 0.01 м ,
равны a  5.52 м и b  3.14 м .
Определить погрешность величины площади комнаты S  ab  17.3328 м2
и записать площадь с верными и одной сомнительной цифрами.
Решение. По условию a  0.01 м и b  0.01 м . Максимальная и
минимальная возможные значения площади равны
Smax  (a   a )(b  b )  17.4195 ; Smin  (a   a )(b  b )  17.2463 .
Вычисляем
S  Sm i n  0 . 0 8 6,5
S  Smax  0.0867 , следовательно, можно
2
взять  S  0.0867 м . Таким образом, величина площади имеет три верных
цифры и сохраняя одну сомнительную, получим S  17.33 м2 .
Во многих приложениях принято характеризовать точность
приближённых чисел их относительной погрешностью. Обозначим
относительную погрешность приближённого числа d̂ символом  d̂ , тогда
по определению  dˆ 
 dˆ
. Относительная погрешность обычно выражается
dˆ
в процентах и её принято записывать не более чем с двумя – тремя
значащими цифрами. Относительная погрешность – это безразмерная и
нормированная величина, поэтому её удобно использовать для сравнения
точности различных приближённых величин.
Пример. Найти относительную погрешность площади комнаты.
Решение.  dˆ 
 dˆ  S 0.0867 м 2


 0.005  0.5%
S 17.3328 м 2
dˆ
Задача 2.
2.1. Округлить число   3.141592653589 a ) до трёх значащих цифр;
b ) до четырёх значащих цифр; c ) до пяти значащих цифр; d ) до
восьми значащих цифр; e ) до десяти значащих цифр.
2.2. Округлить число d  0.0015281 : a ) до одной значащей цифры;
b ) до четырёх значащих цифр; c ) до трёх значащих цифр.
3
2.3. Определить количество верных значащих цифр числа x , если
известна его абсолютная погрешность  x : a ) x  0.3941,  x  0.25 102 ;
b ) x  0.1132,  x  0.1103 ; c ) x  14.00231,  x  0.1103 ;
d ) x  32.285,  x  0.2 102 ; e ) x  0.00381,  x  0.1104 .
2.4. Длина, ширина и высота аквариума измерены с точностью до
0.01 м и равны a  1.N м , b  0.73 м , c  0.57 м .
Найти объём аквариума с верными и одной сомнительной
цифрами и относительную погрешность величины объёма.
3. Решение алгебраических уравнений.
Найти точное решение уравнение f  x   0 не всегда просто, поэтому
рассмотрим его приближённое решение методом Ньютона. Для начала
вычислений требуется начальное приближённое значение корня x0 .
Построим алгоритм уточнения корня. Пусть имеется приближение xk  .
Необходимо получить формулу вычисления следующего приближения
k 1
разложим в ряд Тейлора в
f  x  0
x  . Левую часть уравнения

k
x  :
  
 hf  x
будем
вместо
f x   h  f x
окрестности
точки
вычислении
приближения
k
x
k 1
k
 
k
 
h2
k
f  x    . . . При
2!
уравнения f  x   0

использовать уравнение f  x k    hf   x k    0 , в котором взяты только два
первых члена разложения
f  x  . Так как
h  x
k 1
k
 x  , то получим
уравнение f  x k     x k 1  x k   f   x k    0 , из которого находим
x
 k 1
x
k 


.

f   x  
f x
k
k
Этот алгоритм называется методом Ньютона решения алгебраических
уравнений. Имеются и другие алгоритмы, однако метод Ньютона
используется чаще всего.
Один шаг вычислений называют итерацией. Итерации продолжают до тех
пор, пока не буде получено x k 1  x k    , где  – заданная точность.
Начальное приближение можно определить по графику левой части
уравнения.
Пример. Найти с точностью   103 корень
3
уравнения  x  1  0.5e x  0 .
Решение. Построим график левой части
График показывает, что можно взять x0  0.25 .
Приближения к корню вычисляем по формуле
4

x    1  0.5e



 
x
x 
x 
f   x  
3  x   1  0.5e
x   1  0.5e


 
x x 
 0.156
3  x   1  0.5e
 k 1
k 
f x
k
k
2
k
k
x 
:
0
x 
3
0
1
k
x 
3
k
k
0
0
x 
2
0
x    1  0.5e


3  x    1  0.5e
1
x
 2
x
1
1
x    1  0.5e


3  x    1  0.5e
2
x
 3
x
 2
2
3
3
2
1
x 
1
x 
 0.162 ,
2
x 
2
2
x 
 0.162
Так как
x   x
3
2
 0.000  103 , то корень
x*  0.414 вычислен с заданной точностью   103 .
3
Проверка:  0.162  1  0.5e0.162  5.504 104 .
Задача 3. Вычислить с точностью   103 меньший корень уравнения
5 x3  Nx 2  15 x  6  0 по алгоритму
x
 k 1
x
k 


.

f   x  
f x
k
k
Проверить корень.
Начальное приближение x0 можно определить либо по графику
левой части уравнения, либо по свойству: если можно найти два
значения a и b таких, что f  a  и f  b  имеют противоположные
знаки, то на промежутке  a, b  имеется корень (возможно, не один).
4. Матрицы и системы линейных алгебраических уравнений.
а). Определение матрицы. Матрицей размера m × n называется
прямоугольная таблица чисел, имеющая m строк и n столбцов:
 a11
a
A   21


 am1
a12
a22
am 2
a1n 
a2 n 


amn 
Числа aij  i  1, 2, m; j  1, 2, n  называются элементами матрицы A .
Первый индекс i указывает номер строки, второй индекс j – номер столбца,
на пересечении которых расположен элемент aij .
Если m  n , то матрица называется прямоугольной; если m  n , то
матрица называется квадратной порядка n .
5
Матрица, полученная из матрицы A путём замены строк столбцами с
сохранением их номеров, называется транспонированной по отношению к
матрице A и обозначается A (или AT ).
Для матрицы–строки транспонированной будет матрица–столбец и
наоборот.
1 2 
1 3 5
Пример 1. Транспонировать матрицу A  3 4  . Решение. A  
.
2 4 6 

5 6 
Прямоугольная матрица A размера 1× n называется матрицей–строкой и
её элементы отмечаются одним индексом: A  [a1 a2 . . . an ] .
Прямоугольная матрица B размера m × 1 называется матрицей–
столбцом:
Матрицу–столбец обычно записывают как строку с
 b1 
b 
использованием операции транспонирования в виде
2
B 
. . .
 
bm 
B  [b1
b2
...
bm ]T
Матрицу–строку и матрицу–столбец называют также
векторами.
Квадратные матрицы n – го порядка вида
называют соответственно
0
0
 d1 0
1 0
единичной и
0 d

0 1

0
0
2
диагональной матрицами.


и D
E


0
0


1


 0
0


d n 
б). Операции над матрицами. Операции суммирования, вычитания,
умножения и деления матрицы на число, а также сравнение матриц
выполняются поэлементно.
Умножать и делить матрицы можно также поэлементно, но обычно
используется специальная операция умножения, выполняемая по
следующему правилу: элемент матрицы C  AB cij равен сумме
произведений элементов i –й строки матрицы A на соответствующие
элементы j –го столбца матрицы B . Из этого правила следует, что
умножение матрицы A на матрицу B возможно только при условии, что
число столбцов матрицы A равно числу строк матрицы B .
Из определения умножения матриц следует, что в общем случае
AB  BA . Более того, произведение AB может существовать, а BA – нет.
Произведение матрицы–столбца на матрицу–строку всегда имеет смысл, а
умножение матрицы–строки на матрицу–столбец можно выполнить только
при условии, что они содержат одинаковое количество элементов.
Так как две любые квадратные матрицы одного и того же порядка можно
перемножить, то можно найти матрицу AA . Эта матрица называется
квадратом матрицы A и обозначается A2 . Aналогично определяется матрица
6
An . Нулевой степенью матрицы A называется единичная матрица E :
A0  E .
1 2 
7 8 9
Пример 2. Даны матрицы A  3 4  и B  
. Найти AB .
10 11 12

5 6 
Решение.
1 2
1 7  2 10 1 8  2 11 1 9  2 12  27 30 33 
7 8 9 


AB  3 4 
 3  7  4 10 3  8  4 11 3  9  4 12    61 68 75  .

10 11 12
5 6  
5  7  6 10 5  8  6 11 5  9  6 12  95 106 117 
1 2 
5 6
Пример 3. Даны матрицы A  
 и B  7 8  . Найти AB .


3 4 
Решение. Так как сомножители одинаковой размерности, то можно
найти произведение двумя способами: поэлементным умножением и
матричным.
1 2 5 6
1  5 2  6 
5
12 
Поэлементное умножение: AB  



.
3 4 7 8  3  7 4  8   21 32
1 2 5 6
1 5  2  7 1 6  2  8 
19 22 
Матричное умножение: AB  



.
3 4 7 8  3  5  4  7 3  6  4  8 43 50 
В системе компьютерной математики MATLAB реализовано как
матричное, так и поэлементное умножение.
в). Определитель квадратной матрицы. Одной из важнейших характеристик
квадратной матрицы A является её
определитель (или детерминант),
который обозначается A или detA и составляется из тех же элементов
(расположенных в том же порядке), что и матрица:
A  det A 
a11
a12
a1n
a21
a22
a2 n
an1
an 2
ann
Определитель матрицы – это число, которое определяется с
использованием миноров и алгебраических дополнений данного
определителя.
Минором M ij элемента aij определителя A называется определитель
n  1 -го порядка, полученный из A вычёркиванием i –й строки и j –го
столбца, на пересечении которых находится данный элемент aij .
Алгебраическим дополнением элемента aij называется число
Aij   1
i j
M ij .
7
4 
 1,5 0, 2

Пример 4. Дана матрица A   3, 2 5, 6 1, 4 . Найти минор и
 0, 7 2,3
1 
алгебраическое дополнение элемента a23 .
0, 2
4
det A  3, 2
5, 6
1, 4 ;
0, 7
2,3
1

1, 5
0, 2
0.7
2, 3
1,5
Решение.
0, 2
1, 5
M 23 
0, 7
A23   1
2, 3
2 3
M 23   1
1, 5
0, 2
0.7
2, 3
;

1, 5
0, 2
0.7
2, 3
Определитель матрицы A равен сумме произведений всех элементов
какой-либо его строки на их алгебраические дополнения:
det A  ai1 Ai1  ai 2 Ai 2  . . .  ain Ain ,
где i -номер любой строки.
 2 2 1 
Пример 5. Дана матрица A   3 5 4 . Найти её определитель.
 7 2 1
Решение. det A  ai1 Ai1  ai 2 Ai 2  . . .  ain Ain . Возьмём i  1 , тогда
4
3
4
11 5
1 2
det A  a11 A11  a12 A12  a13 A13  2   1
  2    1

2 1
7 1
5
13 3
1  1
 2  5  8  2  3  28   1 6  35   15 .
7 2
Если для вычисления определителя взять вторую строку, то получим ту
же величину определителя:
det A  a21 A21  a22 A22  a23 A23  3   1
  4    1
23
2
2
7
2
2 1
2
1
2
1
 5   1
2 2
2
1
7
1

 3  2  2   5  2  7   4  4  14   15 .
г). Обратная матрица.
1
Матрицу, обратную квадратной матрице A , обозначают A и определяют
из условия: AA1  A1 A  E . Для того, чтобы матрица A имела обратную,
необходимо и достаточно, чтобы det A  0 . Обратная матрица определяется
равенством:
8
A 1
 A11

1  A12

det A  


 A1n
A21

A22



A2 n

An1 
An 2 

 

Ann 

.
Чтобы найти обратную матрицу A1 , надо построить вспомогательную
матрицу, составленную из алгебраических дополнений элементов aij
матрицы A , транспонировать её и умножить на число
1
.
det A
 2 2 1 
Пример 6. Дана матрица A   3 5 4 . Найти обратную матрицу.
 7 2 1
Решение. В примере 5 найдено det A  15 . Составляем
вспомогательную матрицу V из алгебраических дополнений элементов
матрицы A :
 A11
V   A21
 A31
A12
A22
A32
 3 31 41
  0 5 10  .
 3 11 16 

4
11 5
  1
2 1
A13  
1
2 1 2
A23     1
2 1

A33  
  131 2 1

5 4
 1
3
4
7
1
2
1
7
1
1 2
 1
 1
2 2
3 2
2
1
3
4
 1
1 3
 1
23
 1
3 3
5 

7 2 
2
2 

7
2 

2 2 
3 5 
3
T
 3 31 41
3 0 3


T
V  0 5 10   31 5 11
 3 11 16 
 41 10 16 
0
 3



15
 3 0 3   15
1
31
5
 1
A 1 
V T     31 5 11   

 15
det A
15
 15 
 41 10 16  
  41  10
 15
15
0
0, 2000 
 0, 2000

  2, 0667 0,3333 0, 7333 .
 2, 7333 0, 6667 1, 0667 
2
1   0, 2000
2

1
Проверка: AA   3
5
4   2, 0667
 7
2
1  2, 7333
0
0, 3333
0, 6667
3
15 

11 


15 

16 

15 

0, 2000 
0, 7333  
1, 0667 
9
1 0 0 
 0 1 0   E ;
0 0 1 
 0, 2000
1
A A   2, 0667
 2, 7333
0
0, 3333
0, 6667
0, 2000   2
0, 7333   3
1, 0667   7
2
5
2
1 
1 0 0 

4    0 1 0   E
0 0 1 
1
д). Решение системы линейных уравнений матричным методом.
Разработано много методов решения систем линейных уравнений.
Рассмотрим один из них – матричный. Этот метод очень просто
использовать в системах компьютерной математики (MATLAB, MathCAD и
других).
Системой из m линейных уравнений с n неизвестными называются
соотношения вида
 a11 x1  a12 x2 
 a x a x 
 21 1 22 2


am1 x1  am 2 x2 
 a1n xn  b1 ,
 a2 n xn  b2 ,
 amn xn  bm ,
В этой системе xi – неизвестные, подлежащие определению; aij – числа,
называемые коэффициентами при неизвестных; bi – числа, называемые
свободными членами (или правыми частями).
Решением системы уравнений называется совокупность таких чисел
x1  1 , x2  2 ,
, xn  n , которая обращает все уравнения системы в
тождества.
Если система линейных уравнений имеет хотя бы одно решение, то она
называется совместной, иначе – несовместной.
Совместная система, имеющая единственное решение, называется
определённой, а система, имеющая более одного решения, – неопределённой.
Система линейных уравнений имеет очень компактную форму записи в
матричном виде.
Составим из коэффициентов системы матрицу:
 a11
a
A   21


 am1
a12
a22
am 2
a1n 
a2 n 


amn 
Эту матрицу называют матрицей системы. Определим еще две матрицы:
 x1 
x 
X   2 ,
 
 
 xn 
 b1 
b 
B 2,
 
 
bm 
10
тогда систему можно кратко записать в виде матричного уравнения
AX  B .
Рассмотрим важнейший частный случай системы, когда число уравнений
равно числу неизвестных ( m  n ), тогда матрица A квадратная.
Если detA  0 , то система имеет единственное решение. Действительно, в этом
случае матрица A имеет обратную матрицу A1 , умножим обе части
равенства AX  B слева на A1 , получим A1 AX  A1B . Но A1 A  E , а EX  X ,
следовательно,
X  A1B .
Это и есть формула матричного решения системы линейных уравнений.
Выполнив матричные операции в правой части, получим численное решение
системы.
Отметим, что B – это матрица–столбец, и если B записана как строка, то
при решении по формуле X  A1B матрицу B необходимо транспонировать,
и формула матричного решения будет иметь вид X  A1BT .
Пример 7. Проверить определённость системы. Если она определённая,
решить систему:
2 x1  3x2  5 x3  1,

 x1  x2  x3  6,
 3x  x  2 x  1
1
2
3

Выполнить проверку решения.
 2 3 5 
Решение. Составляем матрицу системы: A  1 1
и вычисляем
1 


1
2 
3

2 3 5
определитель: det A  1 1
1  31 . Так как detA  0 , то система
3
1
2
определённая, имеет единственное решение. Решение находим по формуле
1
X  A B.
Составляем матрицу-столбец
 0, 0968 0, 0323 0, 2581 
A   0,1613 0, 6129 0, 0968 ,
 0, 0645 0,3548 0,1613 
1
 1
B   6  ,
 1
вычисляем
 0, 0968 0, 0323
X  A B   0,1613 0, 6129
 0, 0645 0,3548
1
0, 2581   1
0, 0968   6  
0,1613   1
 0,1613
  3,9355  . Таким образом, x1  0,1613; x2  3,9355; x3  2, 2258 .
 2, 2258 
11
2   0,1613  3  3,9355  5  2, 2258  1;
 0,1613  3,9355  2, 2258  6;
3   0,1613  3,9355  2  2, 2258  1;
Проверка:
Задача 4. Проверить определённость системы:
 2 x1  3 x2   N  6  x3  1,

x1  x2  x3  6,


3 x1  x2  2 x3  1

Если система определённая, найти решение матричным методом по
формуле
X  A1B .
Выполнить проверку решения.
5. Решение систем нелинейных алгебраических уравнений.
Системы нелинейных уравнений
 f1  x1 , x2 , . . . , xn   0,

............

 f x , x , ..., x   0
n
 n 1 2
или, в векторной форме, f  x   0 ,
решают практически только
итерационными методами: пусть известно некоторое приближение xk  к
корню x̂ , тогда следующее приближение находят по формуле
k 1
k
k
x   x   x  ,
где x k  – решение системы линейных уравнений
n

i 1
  x    f
f j x
xi
k
k
i
 x   ,
k
j
j  1, 2, . . . , n
Данный метод решения системы нелинейных уравнений называется
методом Ньютона.
Итерации методом Ньютона продолжают до тех пор, пока не будет
получено x k 1  x k    , где  – заданная точность решения.
Нулевое приближение x0 в случае двух переменных можно найти
графически: построить на плоскости кривые f1  x1, x2   0 и f2  x1 , x2   0 и
найти точки их пересечения. Для трёх и более переменных
удовлетворительных способов подбора нулевых приближений нет.
Пример. Решить методом Ньютона с точностью   103 систему
 x3  y 2  1  0,
 3
 xy  y  4  0
12
Решение. Графически находим начальное
приближение x0  1.5 , y  0  1.5 .
Метод
Ньютона
запишем
в
координатной форме:
k 1
k
k
x   x   x  ,
y
k 1
 y    y   .
k
k
f1  x, y   x3  y 2 1 ,
f2  x, y   xy3  y  4 .
Система для определения x k  и y   имеет вид
k









  3 x  ,
 
x
f  x  , y   
 2 y   ,
f1 x  , y 
k
k
 f1 x  k  , y  k 
f1 x   , y  
k
k
k
k



x 
y     f1 x   , y   ,
x
y


k
k
k 
k 
f 2 x   , y  
 f 2 x , y
k
k
k
k 
x 
y     f 2 x   , y  


x

y




k
k
k
k
1

2
k
k

y
f 2 x  , y 

k
k
x
f 2 x  , y 
k
y
k

 y   ,
3
k
  3x 
k
 y  
k
2
1
Окончательный (рабочий) вид системы:
 

 
 
 


 

x   x   x   1.5  0.002  1.502 ,
1
0


0
0
0
0
 0 2  0

3
x
x  2 y   y     f1 x  , y   ,


3
2
 y  0 x 0  (3x 0 y  0  1)y  0   f 2 x 0 , y 0

 
Теперь
можно
начинать
итерации. Для первой итерации
требуются значения x0 и
0
y   .
Их находим, решая
систему:

k 
k 
k  k 
k  k 

3
x

x

2
y

y


f
x
,y ,
1


3
2
 y  k  x k   (3x k  y  k   1)y  k    f 2 x k  , y  k 

2
 6.75x 0  3y  0  0.125,

 0
 0
3.375x  9.125y  0.4375

x   0.002397 ,
0
y    0.047 ,
0
y    y    y    1.5  0.047  1.547
0
1
0
0
Строим систему и вычисляем x1 и y 1 для второй итерации:
 


1
1
1
1 2 1

3
x
x  2 y   y     f1 x  , y1 ,


3
2
 y 1 x1  (3x1 y 1  1)y 1   f 2 x1 , y 1

 
 

x   x   x   1.5024  5.042 104  1.502 ,
2
1
1

4.507x1  3.094y 1  1.983 103 ,

1
1
 3.702x  9.787y  0.015
x   5.042 104 ,
1
y    1.375  103 ,
1
y    y    y    1.546 .
2
1
1
13
Неравенство x k 1  x k    выполняется: x 2  x1  0   , y 2  y1  0.001   ,
поэтому итерации прекращаем.
Ответ: x  1.502 , y  1.546 .
Задача 5 . Решить методом Ньютона с точностью   103 систему
N 3

) x  y 2  1  0,
(1 
10


xy 3  y  4  0

Выполнить проверку решения.
6. Интерполирование функций.
Пусть задана функция y  f  x  и нужно вычислить её значение при
x  x0 . Часто оказывается, что нахождение значения f  x0  очень трудоёмко, а
если f  x  задана таблицей и в таблице нет значения x0 , то и невозможно.
Тогда функцию f  x  заменяют приближённой формулой   x  , которая
просто вычисляется. Такую замену называют аппроксимацией функции f  x  ,
а функция   x  называется аппроксимирующей. Затем при всех значениях
аргумента из некоторого промежутка полагают f  x     x  .
Подобрать функцию   x  , которая достаточно точно аппроксимирует
функцию f  x  на промежутке  a, b , не просто. Часто в качестве   x 
используют многочлен Pn  x  , который строится методом интерполирования.
Рассмотрим этот метод.
Пусть функция y  f  x  задана таблицей
x0
Задача интерполирования ставится в следующей форме:
y0  f  x0 
найти многочлен Pn  x  степени не выше n , значения
x1
y1  f  x1 
которого в точках xi равны значениям данной функции
...
. . .
Pn  xi   yi . Многочлен Pn  x  называется интерполяционным,
xn
yn  f  xn 
а точки xi называются узлами интерполяции. Узлы
интерполяции называются равноотстоящими, если xi 1  xi  xi  h  const .
Конечными разностями функции y  f  x  называются разности
yi  yi 1  yi – конечные разности первого порядка,
 2 yi  yi 1  yi – конечные разности второго порядка,
. . . . . . . . . . . . . . . . . . . . . .
 k yi   k 1 yi 1   k 1 yi – конечные разности k – го порядка.
Конечные разности записывают в таблицу. Таблица при n  5 имеет вид:
14
x
x0
x1
x2
x3
x4
x5
y
y
2 y
3 y
4 y
5 y
y0
y0
2
 y0
3
 y0
 y0
 y0
y1
y2
y3
y4
y5
y1
y2
y3
y4
 2 y1
 2 y2
 2 y3
3 y1
 3 y2
 4 y1
4
5
Конечные разности вычисляют и
записывают, начиная с низа
соответствующего столбца. Верхняя
(подчёркнутая) строка таблицы
конечных разностей используется при
составлении формулы многочлена
Pn  x  .
Обозначим
x  x0
 q , тогда
h
интерполяционная формула (формула Ньютона) записывается в форме:
q  q  1 ...  q   n  1 
q  q  1
 ...   n y0 
.
2!
n!
Степень n следует выбирать так, чтобы разности в столбце  n y были
Pn  x   y0  y0  q   2 y0 
практически постоянными.
При замене функции f  x  многочленом Pn  x  возникает погрешность
 n 1 y0
 q  q  1 . . .  q  n  .
аппроксимации Rn  x  
 n  1!
При n  1 получим частный случай – линейную интерполяцию
P1  x   y0  y0  q ,
а при n  2 – квадратичную интерполяцию
P2  x   y0  y0  q   2 y0 
q  q  1
2!
.
Пример. Функция f  x  задана таблицей:
Найти f  2.718 .
f  x
x
Решение. Функцию f  x  аппроксимируем многочленом
2.70
2.72
2.74
2.76
2.78
0.3704
0.3676
0.3650
0.3623
0.3597
q  q  1 ...  q   n 1 
q  q  1
 ...   n y0 
2!
n!
f  2.718  Pn  2.718 . Для построения Pn  x 
Pn  x   y0  y0  q   2 y0 
и положим
вначале определим степень n , для этого составим
таблицу конечных разностей
x
f  x
y
2.70
2.72
2.74
2.76
2.78
0.3704
0.3676
0.3650
0.3623
0.3597
0.0028
0.0026
0.0027
0.0026
2 y
3 y
4 y
0.0002
0.0001
0.0001
0.0003
0.0002
0.0005
В столбце y разности практически постоянны, поэтому можно взять
n  1 , т. е. использовать линейную интерполяцию P1  x   y0  y0  q .
15
В этой формуле y0  0.3704 , y0  0.0028 , q  x  x0  x  2.70 , поэтому
h
0.02
x  2.70
P1  x   y0  y0  q  0.3704  0.0028
 0.7484  0.14 x , тогда
0.02
f  2.718  P1  2.718   0.7484  0.14  2.718  0.36788 .
Оценим
Rn  x  
погрешность
n 1
 y0
 q  q  1 . . .  q  n  ;
 n  1!
результата
R1  2.718  
по
формуле
11
 y0
 q  q  1  7.38 106 .
1  1!
Таким образом, погрешность может повлиять только на шестой
десятичный знак.
f  x
x
1.0
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
2.0
0.5652
0.6375
0.7147
0.7973
0.8861
0.9817
1.0848
1.1964
1.3172
1.4482
1.5906
Задача 6. Функция f  x  задана таблицей
Найти значение f  x  для
x  1.03N методом
аппроксимации функции интерполяционным
многочленом. Оценить погрешность результата.
7. Численное интегрирование.
b
Пусть требуется найти определённый интеграл F   f  x  dx . Выразить
a
интеграл через элементарные функции удаётся редко, а компактный и
удобный для доведения до числа ответ получается еще реже. Поэтому
обычно заменяют f  x  такой аппроксимирующей функцией, чтобы
интеграл
от
неё
легко
вычислялся.
Возьмём
простейшую
аппроксимирующую функцию–многочлен нулевой степени, т. е. константу.
Эту константу определим как значение подинтегральной функции в
середине
промежутка
b
b
a
a
F   f  x  dx  
b
 ab
 ab 
f
 dx  f 
  dx   b  a 
 2 
 2 a
b
 ab

2 
 f  x  dx   b  a  f 
a
интегрирования
 ab 
f
.
 2 
 ab
f
,
 2 
тогда
Формула
называется формулой средних. Геометрический
смысл формулы средних состоит в том, что площадь криволинейной
трапеции заменяется площадью прямоугольника.
16
Длина отрезка b  a не мала, поэтому погрешность формулы средних
может быть большой.
Для повышения точности на промежутке  a, b выбирается множество
точек a  x0  x1  x2  ...  xn  b . Совокупность этих точек называется
сеткой, каждую из точек xi называют узлом сетки. Сетка называется
равномерной, если xi 1  xi  h 
ba
. Величина h называется шагом сетки.
n
С учётом этой терминологии формулировка звучит так: для повышения
точности вводят достаточно густую сетку a  x0  x1  x2  ...  xn  b .
Интеграл разбивают на сумму интегралов по шагам сетки и на каждом
шаге применяют формулу средних, получается обобщённая формула
n
x x 
F    xi  xi 1  f  i i 1  . На равномерной сетке формула
 2 
i 1
n
x x
упрощается: F  h f  i i 1 , h  xi  xi 1 .
Для оценки погрешности
 2 
i 1
средних
приближённого значения интеграла можно сгустить сетку (например,
увеличить количество узлов в два раза) и повторно вычислить интеграл,
тогда оценкой погрешности будет величина Fn  F2n .
Пример.
Вычислить
1
e
 x2
dx ,
определить
точность
полученного
0
результата.
Решение. Интеграл не берущийся, поэтому получить его значение можно
только численными методами.
b  a 1 0

 0.2 .
n
5
Разобьём промежуток 0, 1 на 5 шагов, тогда h 
Используем обобщённую формулу средних:
1
5
0
i 1
2
 0.1  i 1 h 
 x2
 0.748 ,
 e dx  h e
10
2
 0.05   i 10.1
 0.747 .
F5  0.748 . Находим F10  0.1 e 
i 1
1
Fn  F2n  0.748  0.747  0.001.  e x dx  0.747 с точностью 0.001 .
2
0
Задача 7. По формуле средних вычислить интеграл
1
F 
0
1
dx с
N  x2
точностью   10 .
3
8. Численное решение дифференциальных уравнений.
Классы дифференциальных уравнений, для которых разработаны
методы получения точных решений, охватывают только малую часть
возникающих на практике задач. Численные же методы применимы к очень
широким классам уравнений и всем типам задач для них.
17
Рассмотрим простейший численный метод – метод ломаных (метод
Эйлера).
Пусть требуется решить задачу Коши: y  f  x, y  , a  x  b, y  a   y0 . На
промежутке  a, b введём сетку a  x0  x1  x2  ...  xn  b . В методе Эйлера
приближённые значения yi искомой функции y  x  вычисляются
последовательно по формуле
где
yi 1  yi  hi f  xi , yi  , i  0,1, ... , n 1 ,
hi  xi 1  xi . Геометрический смысл метода Эйлера состоит в том, что
искомая интегральная кривая y  x  , проходящая через точку  x0 , y0  ,
заменяется ломаной с вершинами в точках  xi , yi  .
Для оценки погрешности приближённых значений y  xi   yi пользуются
двойным пересчётом: расчёт на промежутке  xi , xi 1  повторяют с шагом hi 2
и погрешность более точного решения yi 1 (при шаге hi 2 ) оценивают по
формуле yi 1  y  xi 1   yi 1  yi 1 .
Пример. Найти на промежутке 1, 1.5 решение дифференциального
уравнения y  y  1  x  y 2 с начальным условием y 1  1 , выбрав шаг h  0.1
Решение. f ( x, y)  y  1  x  y 2 , x0  1 . y0  1 . Вычисляем:
y1  y0  h( y0  1  x0  y02 )  1  0.1(1  (1  1)(1)2 )  0.9 ;
x1  1.1 ;
y2  y1  h( y1  1  x1  y12 )  0.8199 ;
x2  1.2 ;
y3  y2  h( y2  1  x2  y22 )  0.753998 ; x3  1.3 ;
y4  y3  h( y3  1  x3  y32 )  0.69864 ; x4  1.4 ;
y5  y4  h( y4  1  x4  y42 )  0.651361 ; x5  1.5 ;
Задача 8. Применяя метод Эйлера, численно решить на промежутке
x  Ny
с начальным условием
yx
y  0  1 . Решение провести с шагом h  0.2 и с шагом h  0.1 для оценки
0, 1 дифференциальное уравнение
y 
погрешности.
Литература.
1. Калиткин Н. Н. Численные методы / Н. Н. Калиткин – М.: Наука, 1978
2. Бахвалов Н. С., Жидков Н. П., Кобельков Г. М. Численные методы / Н. С.
Бахвалов, Н. П. Жидков, Г. М. Кобельков – М: Наука, 1987
3. Копчёнова Н. В., Марон И. А. Вычислительная математика в примерах и
задачах / Н. В. Копчёнова, И. А. Марон – М.: Наука, 1972
4. Крылов В. И., Бобков В. В., Монастырный П. И. Вычислительные методы
/ В. И. Крылов, В. В. Бобков, П. И. Монастырный– М.: Наука, 1976, т. 1
5. Крылов В. И., Бобков В. В., Монастырный П. И. Вычислительные методы
/ В. И. Крылов, В. В. Бобков, П. И. Монастырный– М.: Наука, 1977, т. 2
18
Похожие документы
Скачать