ÌÈÍÈÑÒÅÐÑÒÂÎ ÎÁÐÀÇÎÂÀÍÈß ÐÎÑÑÈÉÑÊÎÉ ÔÅÄÅÐÀÖÈÈ ÃÎÑÓÄÀÐÑÒÂÅÍÍÎÅ ÎÁÐÀÇÎÂÀÒÅËÜÍÎÅ Ó×ÐÅÆÄÅÍÈÅ ÂÛÑØÅÃÎ ÏÐÎÔÅÑÑÈÎÍÀËÜÍÎÃÎ ÎÁÐÀÇ...
17 downloads
190 Views
270KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
ÌÈÍÈÑÒÅÐÑÒÂÎ ÎÁÐÀÇÎÂÀÍÈß ÐÎÑÑÈÉÑÊÎÉ ÔÅÄÅÐÀÖÈÈ ÃÎÑÓÄÀÐÑÒÂÅÍÍÎÅ ÎÁÐÀÇÎÂÀÒÅËÜÍÎÅ Ó×ÐÅÆÄÅÍÈÅ ÂÛÑØÅÃÎ ÏÐÎÔÅÑÑÈÎÍÀËÜÍÎÃÎ ÎÁÐÀÇÎÂÀÍÈß
"Ñàíêò-Ïåòåðáóðãñêèé ãîñóäàðñòâåííûé óíèâåðñèòåò àýðîêîñìè÷åñêîãî ïðèáîðîñòðîåíèÿ"
ВЫЧИСЛИТЕЛЬНАЯ МАТЕМАТИКА Методические указания к проведению практических занятий
Ñàíêò-Ïåòåðáóðã 2003
Составители: Л. А. Решетов, Е. А. Всемирнова, Г. Н. Дьякова, Е. Р. Даниловцева Рецензент канд. физ.-мат. наук, доц. Ю. А. Гусман (кафедра высшей математики Санкт-Петербургского государственного университета аэрокосмического приборостроения)
Методические указания содержат материал к практическим занятиям по дисциплине «Вычислительная математика» и предназначены для использования студентами всех специальностей. Подготовлены кафедрой прикладной математики и рекомендованы к изданию редакционно-издательским советом Санкт-Петербургского государственного университета аэрокосмического приборостроения.
© СПбГУАП, 2003
Подписано к печати 17.10.03. Формат 60×84 1/16. Бумага офсетная. Печать офсетная. Усл. печ. л.1,62. Уч. -изд. л. 1,46. Тираж 300 экз. Заказ № Редакционно-издательский отдел Отдел электронных публикаций и библиографии библиотеки Отдел оперативной полиграфии СПбГУАП 190000, Санкт-Петербург, ул. Б. Морская, 67
2
1. МЕТОДИЧЕСКИЕ УКАЗАНИЯ К ВЫПОЛНЕНИЮ КОНТРОЛЬНОЙ РАБОТЫ “РЕШЕНИЕ СИСТЕМ ЛИНЕЙНЫХ УРАВНЕНИЙ” Для успешного выполнения контрольной работы студенты должны владеть элементами линейной алгебры и основами численных методов. Необходимо уметь выполнять действия над векторами и матрицами, находить числовые характеристики векторов и матриц, а также знать основные методы точного и приближенного (итеративного) решения систем линейных алгебраических уравнений. 1.1. Основные теоретические сведения Векторы и матрицы Вектор х задается столбцом n – чисел (компонент). Транспонированный вектор хт задается строкой тех же компонент x1 . x = . , хТ = ( х1,..., хn ). . x n
(1.1)
Квадратную матрицу А задают в виде таблицы n х n чисел a11 a12 a a22 A = 21 . . a a n1 n 2
. . . .
. . . .
. a1n . a2 n . . . . ann
(1.2)
Сложение и вычитание векторов и матриц производится поэлементно. При умножении векторов и матриц на число нужно умножать на это число все элементы. Норму вектора в n-мерном векторном пространстве вводят одним из двух способов [1] x 1 = max xi ,
(1.3)
1≤i ≤n
1/ 2
x
2
n = ∑ xi2 i =1
.
(1.4) 1
Нормы матриц, соответствующие введенным векторным нормам, определяются выражениями Ax , A = Sup x ≠0 x
при этом A 1 = max
n
∑ aij ,
1≤i ≤n j = 1
(1.5)
1/ 2
n n A 2 = ∑ ∑ aij2 . i =1 j =1 Скалярным произведением двух векторов является число
〈 x, y 〉 =
(1.6)
n
∑ xi yi = x ⋅ y cos ϕ,
i =1
(1.7)
где х=х2 длина вектора х; y=y2 – длина вектора y; ϕ ∈ [0, π] – угол между векторами х и y. При умножении матрицы на вектор получаем вектор, а при умножении двух матриц – матрицу: Ах = у, АВ = С, где yi =
n
∑ aik xk ; cij =
k =1
(1.8)
n
∑ aik bkj .
k =1
Матрица Е называется единичной, если на диагонали у нее – единицы, а остальные элементы нули. Матрица А–1, обратная к матрице А, определяется из соотношения А–1 А = А А–1 = Е.
(1.9)
Эти соотношения являются проверкой для обратной матрицы. Элементы обратной матрицы (А–1)ij находятся по формулам
( ) A −1
2
ij
=
( −1)i + j M det A
ji ,
1 ≤ i, j ≤ n,
(1.10)
где Мji – минор, получаемый вычеркиванием j-й строки и i-го столбца у матрицы А, а определитель матрицы А a11 a det A = 21 . an1 =
n
i +k
∑ aik (−1)
k =1
Mik =
n
a12 a22 . an 2 i +k
∑ aki (−1)
k =1
. . . .
. . . .
M ki =
. . . .
a1n a2 n = . ann n
∑ aki ( −1)k +i Mki .
(1.11)
k =1
Величина ν = А·А–1
(1.12)
называется числом обусловленности матрицы А. Если ν велико, то матрица А называется плохо обусловленной, а если невелико – хорошо обусловленной. Отметим, что ν ≥ 1. Методы решения систем линейных алгебраических уравнений Алгоритмы решения систем линейных алгебраических уравнений можно разделить на две группы: прямые и итерационные. Прямые алгоритмы основываются на точных методах, позволяющих получить решение за конечное число шагов (без учета ошибок округления). Итерационные методы дают точное решение лишь при бесконечном числе шагов, поэтому при их использовании нужно учитывать, что при конечном числе арифметических операций решение всегда получают с некоторой ошибкой, даже если пренебречь ошибками округления при вычислении. Прямые методы решения систем. Метод Гаусса Наиболее распространенным из прямых методов решения является метод Гаусса, который основывается на последовательном исключении неизвестных (число необходимых арифметических операций пропорционально n3). Запишем систему n линейных алгебраических уравнений Ax = b
(1.13)
в виде 3
(0) (0) a11 x1 + a12 x2 (0) (0) a21 x1 + a22 x2 . . . a (0) x + a (0) x n2 2 n1 1
+ . . . + a1(0) n xn
= b1(0) ,
+ . . . + a2(0) n xn . . . . . .
= b2(0) , . .
(0) + . . . + ann xn
= bn(0) .
(1.14)
Первый этап метода Гаусса (прямой ход) заключается в преобразовании системы (1.14) к “верхнетреугольному” виду. Предположим, что коэффициент неизвестной х1 в первом уравне(0) нии системы (1.14) a11 ≠ 0. Тогда можно исключить переменную х1 из (n–1) уравнений, начиная со второго. Для этого достаточно вычесть из каждого уравнения первое уравнение, умноженное на а(0)21/ а(0)11, а(0)31/ а(0)11, …, а(0)n1/ а(0)11 соответственно, (0) (0) a11 x1 + a12 x2
+ . . . + a1(0) n xn
= b1(0) ,
(1) a22 x2 .
+ . . . + . . . . .
a2(1)n xn .
= b2(1) , . .
an(1)2 x2
+ . . . +
(1) ann xn
=
bn(1) .
(1.15)
(1) Далее, полагая, что коэффициент a22 ≠ 0, выполним аналогичную процедуру исключения переменной х2 в системе уравнений (1) a22 x2 .
+ . . . + a2(1)n xn . . . . . .
= b2(1) , . .
an(1)2 x2
(1) + . . . + ann xn
= bn(1) .
(1.16)
После (n–1)-го шага исключения неизвестных система (1.14) приводится к следующему виду: (0) a (0) 11 x1 + a12 x2 (1) a22 x2 .
+ + .
. . .
. . .
. . .
+ + .
a1(0) n xn (1) a 2 n xn . ( n −1) ann xn
= b1(0) , = b2(1) , . . ( n −1) = bn .
(1.17)
Для вычисления значений неизвестных необходимо выполнить обратный ход метода Гаусса в соответствии с выражениями 4
( n −1) xn = bn( n −1) / ann ,
xi = bi(i −1 −
n
j =i +1
∑ aij(i−1) x j / aii(i=1) ,
i = n − 1, n − 2, ..., 1.
(1.18)
Рассмотренный простейший вариант метода Гаусса имеет ряд недостатков [2]. Во-первых, предположения о том, что коэффициенты (0) (1) , … (ведущие элементы) не равны нулю, может оказаться неa11 , a22 выполненным, даже если матрица А является невырожденной (det A ≠ 0), и система должна иметь единственное решение. Тогда приведенный метод решения формально непригоден. Кроме того, ведущие элементы могут оказаться достаточно малыми и после деления на них точность решения системы резко снижается из-за ошибок округления. Для того чтобы избавиться от указанных недостатков, применяют метод исключения Гаусса с выбором ведущего элемента. Этот метод всегда дает единственное решение, если определитель системы отличен от нуля. Кроме того, он менее чувствителен к ошибкам округления. Уменьшение вычислительной погрешности в методе Гаусса с выбором ведущего элемента производится путем перестановки строк и столбцов матрицы А так, чтобы ведущий элемент на k-м шаге исключения был наибольшим по модулю из коэффициентов, участвующих в дальнейшем исключении: ( k −1) akk = max aij( k −1) , 1 ≤ k ≤ n, k ≤i , j ≤ n
(1.19)
= aij. где Выбор ведущих элементов по формуле (1.19) называют методом исключения с полным упорядочением. Полное упорядочение требует большой дополнительной вычислительной работы, поэтому часто останавливаются на методе исключения с частичным упорядочением по строкам. Выбор ведущих элементов производится согласно формуле aij(0)
( k −1) = max aik( k −1) . akk k ≤i ≤ n
(1.20)
Например, для системы уравнений 4 x1 + 5 x2 x1 − 3x2 10 x1 + x2
+ 12 x3 + x3 − x3
= 1, = 2, = 3
5
перед первым шагом исключения требуется, согласно алгоритму с полным упорядочением, поменять первый и третий столбцы системы уравнений: 12 x3 + 4 x1 + 5x2 = 1, x3 + x1 − 3x2 = 2, − x3 + 10 x1 + x2 = 3. Согласно алгоритму с частичным упорядочением, необходимо поменять первую и третью строки системы уравнений: 10 x1 + x2 − x3 = 3, x1 − 3x2 + x3 = 2, 4 x1 + 5 x2 + 12 x3 = 1. Затем выполняется 1-й шаг исключения.
Итерационные методы решения систем линейных алгебраических уравнений Первым шагом в итерационном методе является преобразование исходной системы Ах = b к виду [2–3] Сх = Вх +d,
(1.21)
где матрицы С, В и вектор d определяется по матрице А и вектору b. Причем системы (1.13) и (1.21) являются эквивалентными, т. е. их решения совпадают. Вторым шагом является расстановка индексов в (1.21) и задание нулевого приближения, т. е. Сх(k+1) = Вх(k) + d, k = 0, 1, 2, …,
(1.22)
(0)
где х – заданный вектор. Оценка погрешности k-го приближения определяется соотношением x ( k ) − х∗ ≤ ε,
(1.23)
где х* = А–1b – точное решение системы (1.13). Оценка (1.23) при заданном e > 0 позволяет осуществлять остановку итерационного процесса. Различные итерационные методы отличаются выбором матриц С, В и вектора d. Если С = Е, то метод построения последовательных приближений (1.22) принято называть методом простых итераций. Известен следую6
щий результат о сходимости метода простых итераций [2]: если норма матрицы В меньше единицы, то последовательные приближения x(k+1) = Bx(k) + d
(1.24)
сходятся к единственному решению х* системы (1.13) со скоростью геометрической прогрессии при произвольном векторе нулевого приближения х(0). Таким образом, процесс сходится, если выполняется одно из следующих условий [4]: В1< 1 или В2 h′ ( x ) . Выбором функций g(x) и h(x) можно получить ряд хорошо сходящихся методов. Метод Ньютона
g ( x ) = x, h ( x ) = x −
f (x) . f ′( x )
(3.1)
f ′′ f < 1 в окрестносf ′2 ти xN. Если xN является простым корнем, то выполняются соотношения 20
Сходимость имеет место тогда, когда h′ ( x ) =
f ′ ( x N ) ≠ 0 и h′ ( x N ) ≠ 0 . Следовательно, для начального значения x(0)
должно выполняться неравенство
( ) ( )
( )
0 0 0 f ′′ x ( ) f x ( ) < f ′ x ( )
2
.
(3.2)
Итерационная формула имеет вид x
(m +1)
=x
(m )
( ), f ′(x( ) ) m f x( )
−
m
( )
m f ′ x ( ) ≠ 0.
(3.3)
Метод секущих (правило ложного положения, метод хорд)
x
(m +1)
=x
(m )
sm =
−
( )
m f x( )
(m = 1,
sm
( ) (
m m −1 f x( ) − f x( ) m m −1 x( ) − x( )
2, ... ) ,
(3.4)
). ( ) ( )
Здесь x(0) и x(1) – два заданных числа таких, что f x (0) f x (1) < 0 . Простая итерация
(
)
Если g(x) = x, то x (m +1) = h x ( m ) ; условие сходимости h ′ ( x ) < 1 . Если x(m) достаточно близко к xN, то для погрешности r (m ) = x N − x (m ) справедливо следующее соотношение:
(
)
m m m −1 0 r ( ) ≈ h ′ ( x N ) r ( ) ≈ ( h ′ ( x N )) x N − x ( ) .
(3.5)
3.2. Варианты заданий для контрольной работы Задание 1 Отделить корни уравнения f(x) = 0 графически и уточнить один из них методом итераций [7] с точностью не хуже ε = 10−4 Предваритель21
но определить минимально необходимое для этого количество итераций. Оценить фактическую точность полученного решения. 16. x = (x+1)3. 1. ln(x)+(x+1)3=0. x 17. x2 = sin(x). 2. x2 =1. 3.
1 x +1 = . x
4.
x – cos(x) = 0
18. x3 = sin(x). 19. x = log ( x + 2 ).
5. 3x + cos(x)+1 = 0 20. x2 = ln(x+1). 6. x+ln(x)=0,5. 21. 2x+log(x) = –0,5. 7. 2 – x = ln(x). 22. 2x + cos(x) = 0,5. 23. sin(0,5x) + 1 = x2. 8. (x – 1)2 = 0,5 ex. x 24. 0,5x + log(x – 1)0,5. 9. (2 – x)e = 1. x 25. sin(0,5 + x) = 2x – 0,5. 10. 2,2x – 2 = 0. 11. 2x – ln(x) = 7. 26. log(2+x)+2x = 3. 27. log(1+2x) = 2 – x. 12. x2+4sin(x) = 0. 13. 5x – 8 ln(x) = 8. 28. 2sin(x – 0,6) = 1,5 – x. 29. x + log(1 + x) = 1,5. 14. 3x – ex =0. 30. x + cos(x) = 1. 15. x(x+1)2 = 1. Задание 2 Отделить корни уравнения графически и уточнить один из них методом Ньютона [7]. Вести вычисления с пятью десятичными цифрами. Определить точность полученного решения. 1. x – sin(x) = 0,25. 16. tg(0,3x + 0,4) x2. 17. x2 – 2sin(x) = 0. 2. tg(0,58x + 1) = x2.
4.
tg(0,4x + 0,4) = x2.
1 ctg ( x ) − x = 0. 3 19. tg(0,47x + 0,2) = x2.
5.
log ( x ) −
20. x2 + 4sin(x) = 0.
6.
tg(0,5x + 0,2) = x2.
7. 8. 9.
3x – cos(x) – 1 = 0. x + log(x) = 0,5. tg(0,5x + 0,1) = x2.
3.
22
x − cos (0,387 x ) = 0. 7 = 0. 2x + 6
18.
ctg ( x ) −
x = 0. 2 22. 2x – log(x) – 7 = 0. 23. tg(0,44x + 0,3) = x2. 24. 3x – cos(x) – 1 = 0.
21.
25.
ctg ( x ) −
11. ctg(1,05x) – x2 = 0. 12. tg(0,4x + 0,3) = x2. 13. xlog(x) – 1,2 = 0.
x = 0. 10 26. x2 +4cos(x) = 0. 27. tg(0,36x + 0,4) = x2. 28. x + log(x) = 0,5.
14. 1,8 x2 – sin(10x) = 0.
29.
ctg ( x ) −
15. ctg ( x ) −
30.
2log ( x ) − x + 1 = 0. 2
10. x2 + 4sin(x) = 0.
x = 0. 4
x = 0. 5
3.3. Пример выполнения задания Задание 1 2x + log(2x + 3) = 1.
4
Найдем приближенные значения корней графически. Для этого уравнение удобно представить в виде
2
log(2x + 3) = 1 – 2x
y = log2x+3 –1
(см. рис.1). Из графика видно, что уравнение имеет один корень, лежащий в промежутке [0; 0,5]. Для уточнения его методом итераций приведем уравнение к виду x = ϕ(x). Функцию ϕ(x) будем искать из соотношения
1
2 y =1 – 2 · x
–2
–4
ϕ ( x ) = x − f ( x ) k , где k ≥ M 2 и
Рис.1
принято обозначение M = max
x∈[0; 0,5]
f ′( x ) ;
число k имеет тот же знак, что и f '(x) в промежутке [0; 0,5]. (Итерационный метод, получаемый при этом, обычно называют методом релаксации). Находим f ( x ) = 2 x + log (2 x + 3) − 1 , f ′ ( x ) = 2 + 2
0,4343 (используя 2x + 3
равенство log a = 0,4343ln a , a > 0). 23
M = max
x∈[0; 0,5]
f ′( x ) = 2 +
0,8686 ≈ 2,2895, 2⋅0 + 3
f '(x) > 0 при x ∈ [0; 0,5] . Примем k = 2, тогда
1 1 1 1 ϕ ( x ) = x − f ( x ) 2 = x − x − log (2 x + 3) + = − log (2 x + 3). . 2 2 2 2 За начальное приближение возьмем x0 = 0 (естественно, начальное приближение выбирается из данного промежутка), все остальные приближения будем определять из равенства xn +1 = ϕ ( xn ) =
1 1 − log (2 x + 3) , n = 0, 1, 2, … . 2 2 Минимальное число итераций nmin, необходимое для получения заданной точности решения ε, определим по формуле ln ((1 − q ) ε x0 − x1 ) nmin = 1 + , ln q где [α] – целая часть числа α. Число q удовлетворяет неравенству max ϕ′ ( x ) ≤ q < 1.
1 0,8686 ≈ 0,1448. Находим max ϕ′ ( x ) = max ⋅ 0≤ x ≤0,5 0≤ x ≤0,5 2 2 x + 3
Выберем q = 0,15, тогда x1 = ϕ ( x0 ) =
1 1 − log 3 ≈ 0,26 . 2 2
Для заданного ε = 10–4 получаем nmin
(
ln (1 − 0,15) ⋅ 10−4 0 − 0,26 = 1 + ln 0,15
) = [1 + 4,23] = 5.
Таким образом, для достижения точности ε = 10–4 необходимо сделать не менее пяти итераций. Проведем все вычисления с пятью десятичными цифрами и определим x∗ ≈ x6 = 0,230410 . Фактическую точность полученного решения можно оценить по формуле 24
x ∗ − xn
0 , f (0,8 ) ≈ −0,04 < 0 и f ′′ ( x ) < 0 при x ∈ [0,6; 0,8] , то за начальное приближение примем x0 = 0,8. Уточнение производим по формуле xn +1 = xn −
f ( xn ) , n = 1, 2, ... . f ′ ( xn )
В результате получаем: x1 = 0,75240, x2 = 0,75019, x3 = 0,75019. Таким образом, x∗ ≈ x2 = 0,75019 . Оценим точность полученного результата, воспользовавшись формулой x ∗ − xn