303208
.pdfРазделив коэффициенты первого уравнения системы (3) на ведущий эле-
мент (1)22 , получим
|
|
+ (1) |
= (1) |
, |
(4) |
||||||
|
2 |
|
23 |
|
3 |
24 |
|
|
|||
где |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(1) |
|
|
|
|
|
|
||
|
2(1) = |
|
2 |
(j= 3, 4). |
|
|
|||||
|
|
(1) |
|
|
|||||||
|
|
|
|
22 |
|
|
|
|
|
|
|
Исключая 2 |
таким же образом, каким было исключено 1, будем иметь |
||||||||||
|
(2) = (2) |
, |
|
(5) |
|||||||
|
33 |
|
3 |
|
|
|
34 |
|
|
|
|
где |
|
|
|
|
|
|
|
|
|
|
|
|
(2) |
= (1) |
− (1) ∙ (1) |
( = 3,4) . |
|||||||
|
3 |
|
|
|
3 |
|
32 |
2 |
|
||
Тогда |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(2) |
|
(2) |
|
|
||
|
|
|
= |
|
34 |
|
= . |
|
(6) |
||
|
|
|
(2) |
|
|||||||
|
3 |
|
|
|
|
34 |
|
|
33
Остальные неизвестные определяются из уравнений (4) и (2):
2 = 24(1) − 23(1) ∙ 3
1 = 14 − 13 3 − 12 2 .
Таким образом, процесс решения системы уравнений по методу Гаусса сводится к построению эквивалентной системы (2), (4), (6), имеющей треугольную матрицу. Необходимым и достаточным условием применимости метода является неравенство нулю всех ведущих элементов. Процесс нахождения ко-
эффициентов треугольной системы называется прямым ходом, процесс по-
лучения значений неизвестных – обратным.
При большом числе неизвестных системы схема метода Гаусса становится сложной. В этих случаях можно воспользоваться приближенными численными методами. Рассмотрим один из них.
Метод итерации
Пусть дана линейная система
21
|
|
+ |
|
+ + |
1 |
= , |
|
||
|
|
|
11 1 |
12 |
2 |
|
1 |
|
|
{ |
|
+ |
|
+ + |
|
= , |
(7) |
||
|
|
21 1 |
22 |
2 |
2 |
|
2 |
||
|
− − − − − − − − − − − − − − − |
|
|||||||
|
|
+ |
2 |
+ + |
|
= . |
|
||
|
|
1 1 |
2 |
|
|
|
|||
Предполагая, что диагональные коэффициенты |
|
|
|||||||
|
|
|
≠ 0, |
( = 1,2,… , ), |
|
|
разрешим первое уравнение системы (7) относительно 1, второе – относитель-
но 2, и т. д. В результате получим эквивалентную систему уравнений
|
|
|
|
|
+ + … + |
|
, |
|
|
||||||||||||
|
|
|
|
|
|
1= |
1 |
|
12 |
2 |
|
13 |
3 |
|
|
1 |
|
|
|||
|
|
|
|
|
+ + … + |
, |
|
|
|||||||||||||
|
|
{ |
|
|
|
2= |
2 |
|
21 |
1 |
23 |
3 |
|
|
|
2 |
|
(8) |
|||
|
|
|
|
− − − − − − − − − − − − − − − |
|
||||||||||||||||
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
+ + … + |
|
|
|
|
. |
|
|||||||||||
|
|
|
= |
|
|
|
1 |
1 |
|
2 |
2 |
|
( −1) −1 |
|
|
||||||
где |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
= |
|
|
, |
|
= − |
|
|
|
при |
i≠ |
|
(i, j=1,2, …, n). |
||||||||
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Вводя в рассмотрение матрицы |
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
11 |
|
12 |
1 |
|
|
|
1 |
|
||||
|
|
|
|
|
|
= | 21 |
|
22 |
2 | и = | |
| |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
1 |
|
2 |
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
систему (8), можно записать в матричной форме |
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
= + |
|
|
|
|
|
(9) |
||
Если за нулевое приближение принять столбец свободных членов и под- |
|||||||||||||||||||||
ставить его в правую часть уравнения (9), то получим первое приближение |
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
1 = + 0. |
|
|
|
|
|
|
||||
Аналогично 2 = + 1. Любое (n + 1) |
приближение вычисляется по |
||||||||||||||||||||
формуле |
+1 |
= + |
. |
Процесс итерации продолжается до тех пор, пока |
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
не будет выполнено условие |
| |
+1 |
− | |
≤ . |
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Блок-схема алгоритма решения систем линейных алгебраических уравнений методом итерации приведена на рис. 12. Исходными данными являются: N
– порядок системы, ε – заданная точность расчета; ( , ) – элементы матрицы коэффициентов при неизвестных; ( ) – вектор свободных членов; ( ) –
начальное приближение к решению; X( )– рабочий массив.
22
Начало |
Ввод |
N,E,Y(N) |
= 0 |
a |
= 1 |
( ) = ( ) |
= 1 |
д |
= |
нет |
( ) = ( ) − ( , ) |
= + 1 |
д |
≤ |
нет |
( ) |
( ) = ( , ) |
= + 1 |
д |
≤ |
нет |
= 1 |
| ( ) − ( )| |
нет |
|
|
> |
|
д |
|
= 1 |
|
( ) = ( ) |
|
= + 1 |
|
|
д |
≤ |
|
нет |
|
нет |
|
= + 1 |
|
a |
|
= + 1 |
|
д
≤
нет
Вывод X(I),
S
Конец
Рис.12. Блок - схемаЗаданиеалгоритма метода итераций
23
2. Задание
Решить систему линейных уравнений = методом Гаусса.
11 1 + 12 2 + 13 3 = 1 , { 21 1 + 22 2 + 23 3 = 2 ,31 1 + 32 2 + 33 3 = 3 .
3.Порядок выполнения лабораторной работы
1.Изучить свой вариант задания (см. с.27).
2.Разработать блок-схему алгоритма решения задачи.
3.Составить программу решения задачи. Исходными данными являются:
Порядок уравнения системы ;
Массив коэффициентов при неизвестных ( ; + 1).
4.Составить отчет по лабораторной работе.
Алгоритм решения системы n линейных уравнений методом Гаусса
Блок–схема алгоритма решения систем линейных уравнений приведена на рис.13. Алгоритм состоит из следующих основных этапов.
1. Представление исходных данных в виде массива – прямоугольной матрицы вида
|
|
11 |
12 |
1 |
1, +1 |
|
||
|
|
21 |
22 |
2 |
2, +1 |
|
||
|
= | |
|
|
|
|
|
|, |
|
|
|
1 |
2 |
|
, +1 |
|
||
где |
|
|
|
|
|
|
|
|
|
1, +1 |
= , |
2, +1 |
= … , |
, +1 |
= . |
||
|
1 |
|
2, |
|
|
2. Первая строка матрицы делится на 11, затем умножается на
,1( = 2,3,… , )
и вычитается из к-й строки (последовательно из 2-,3-,…, n-й строк); элементы первого столбца матрицы, начиная с 21 и до 1, становятся нулями:
24
Начало
Ввод n,
A(n,n+1)
Цикл
= 1, − 1
= ,
Цикл
= 1, + 1
, = ,/
Конец цикла по J
Цикл
= + 1,
Цикл
= 1, + 1
, = , − , ,
Конец цикла по L
Конец цикла по K
Конец цикла по I
= , +1/ ,
Цикл
= − 1, − 1
= 0
Цикл
= + 1,
= + ,
Конец цикла по J
= , +1 −
Конец цикла по K
Вывод ( )
Конец
Рис.13. Блок - схема алгоритма метода Гаусса
25
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
|
1 |
12 |
1 |
1, +1 |
|
1 |
0 |
22 |
2 |
2, +1 |
|
= | |
|
|
|
| , |
|
|
|
2 |
|
, +1 |
|
где обозначение 1 принято для преобразованной матрицы.
3.Вторая строка матрицы 1 делится на 22, затем умножается на 2 и вычитается из всех строк = 3,4,… , .
4.Действия, аналогичные перечисленным в п.3, повторяются до тех пор , пока подобная процедура не будет проделана с (n-i)-й строкой матрицы; матрица будет приведена к виду
1 |
12 13 |
|
1 |
1, +1 |
|
|
0 |
1 23 |
|
2 |
2, +1 |
|
|
−1 = |
. |
|||||
| 0 |
0 |
0 |
1 |
−1, |
−1, +1 |
| |
0 |
0 |
0 |
0 |
, |
, +1 |
|
5.Элементы последней строки полученной матрицы позволяют вычислить значение
= , +1.
,
6. Значение |
корня |
|
используется для отыскания |
|
−1 |
при подстановке в |
||||||
|
|
|
|
|
|
|
|
|
|
|
||
(n-i)-ю строку треугольной матрицы |
−1, а затем вычисляются остальные |
|||||||||||
корни |
|
,… , |
по формуле |
|
|
|
|
|
|
|
||
−2 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
= |
, +1 |
− ∑ |
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
= +1
4.Контрольные вопросы
1.Объяснить последовательность вычисления корней методом Гаусса.
2.Назвать необходимые и достаточные условия применимости метода Гаусса.
26
3.Какие этапы называются прямым и обратным ходом решения?
4.В чем заключается преимущество метода Гаусса перед методом итерации?
5.Объяснить последовательность вычисления корней методом итерации.
6.Объяснить сущность метода Гаусса с выбором главного элемента.
7.Как производится оценка погрешности в методе итерации?
8.Написать формулу первого приближения методом итераций.
9.Написать формулу вычисления корня методом Гаусса.
5.Варианты заданий
№ |
Матрица |
|
|
№ |
Матрица |
|
||||||
коэффициен- |
Вектор |
|
коэффициен- |
Вектор |
||||||||
вари- |
|
вари- |
||||||||||
|
тов |
|
B |
|
|
тов |
|
B |
||||
анта |
|
|
|
анта |
|
|
||||||
|
|
A |
|
|
|
|
|
A |
|
|
||
|
|
|
|
|
|
|
|
|
|
|
||
1 |
|
|
2 |
|
3 |
|
4 |
|
|
5 |
|
6 |
|
9 |
5 |
4 |
7 |
0 |
|
|
2 |
1 |
5 |
2 |
1 |
|
4 |
6 |
8 |
7 |
6 |
|
|
5 |
2 |
2 |
6 |
3 |
1 |
5 |
8 |
7 |
6 |
3 |
|
8 |
2 |
2 |
1 |
2 |
0 |
|
|
|
||||||||||
|
5 |
6 |
8 |
7 |
7 |
|
|
1 |
3 |
3 |
1 |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
5 |
3 |
8 |
3 |
|
|
7 |
6 |
2 |
7 |
3 |
|
4 |
6 |
7 |
4 |
8 |
|
|
4 |
9 |
5 |
5 |
2 |
2 |
2 |
3 |
5 |
3 |
1 |
|
9 |
2 |
3 |
4 |
9 |
0 |
|
|
|||||||||||
|
4 |
8 |
3 |
7 |
7 |
|
|
1 |
5 |
6 |
9 |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
4 |
2 |
5 |
3 |
|
|
3 |
6 |
5 |
7 |
3 |
|
4 |
4 |
5 |
3 |
8 |
|
|
4 |
6 |
3 |
5 |
0 |
3 |
1 |
2 |
6 |
8 |
1 |
|
10 |
2 |
3 |
2 |
6 |
4 |
|
|
|
||||||||||
|
3 |
7 |
3 |
2 |
7 |
|
|
2 |
4 |
3 |
6 |
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
3 |
5 |
2 |
3 |
|
|
9 |
5 |
4 |
7 |
0 |
|
5 |
2 |
7 |
5 |
2 |
|
|
4 |
6 |
8 |
7 |
6 |
4 |
4 |
2 |
1 |
7 |
3 |
|
11 |
5 |
8 |
7 |
6 |
3 |
|
|
|
||||||||||
|
7 |
5 |
4 |
1 |
2 |
|
|
5 |
6 |
8 |
7 |
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
|
|
|
|
|
1 |
|
|
2 |
|
3 |
4 |
|
|
5 |
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
6 |
3 |
8 |
3 |
|
9 |
6 |
3 |
8 |
3 |
|
4 |
6 |
7 |
4 |
1 |
|
4 |
6 |
7 |
4 |
1 |
5 |
2 |
3 |
5 |
3 |
4 |
12 |
2 |
3 |
5 |
3 |
4 |
|
|
||||||||||
|
4 |
8 |
3 |
7 |
2 |
|
4 |
8 |
3 |
7 |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
4 |
7 |
4 |
2 |
|
2 |
3 |
5 |
2 |
3 |
|
4 |
1 |
6 |
2 |
0 |
|
5 |
2 |
7 |
5 |
2 |
6 |
8 |
3 |
6 |
7 |
3 |
13 |
4 |
2 |
1 |
7 |
3 |
|
|
||||||||||
|
6 |
3 |
5 |
7 |
1 |
|
7 |
5 |
4 |
1 |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
3 |
4 |
5 |
1 |
|
1 |
4 |
2 |
5 |
3 |
|
2 |
6 |
4 |
6 |
4 |
|
4 |
4 |
5 |
3 |
8 |
7 |
3 |
4 |
5 |
5 |
0 |
14 |
1 |
2 |
6 |
8 |
1 |
|
|
||||||||||
|
1 |
9 |
3 |
6 |
3 |
|
3 |
7 |
3 |
2 |
7 |
|
|
|
|
|
|
|
|
|
|
|
|
Лабораторная работа №4 Решение систем обыкновенных дифференциальных уравнений
методом Рунге-Кутта |
|
1. Методические указания к выполнению работы |
|
Пусть дано дифференциальное уравнение |
|
′ = ( , ), |
(10) |
удовлетворяющее начальному условию ( 0) = 0. Требуется найти решение
этого |
уравнения на интервале |
[ |
0 |
, |
|
] |
c заданной точностью. Интервал |
|
|
|
|
|
|
|
|
||
[ |
, |
] разбивается на n равных частей c помощью точек |
||||||
0 |
|
|
|
|
|
|
|
|
= 0 + ( = 0,1,2,… ).
Решение уравнения (10) находится не для всех точек интервала, а лишь для дискретных значений
( = 0,1,2,… , ).
28
В методе Рунге-Кутта для определения значения функции необходимо четырежды вычислить производную и результат усреднить. Погрешность этого
метода пропорциональна |
5. |
|
|
|
|
|
|
|
|
|
При этом для каждой точки рассчитываются следующие коэффициенты: |
||||||||||
|
|
|
= ∙ ( , ); |
|
|
|
||||
|
|
1 |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
||
|
|
= ∙ ( + |
, + |
1 |
); |
|||||
|
2 |
|
|
|||||||
|
2 |
|
|
|
2 |
|
|
|||
|
|
|
|
|
|
|
|
|
||
|
|
= ∙ ( + |
, + |
2 |
); |
|||||
|
2 |
|
||||||||
|
3 |
|
|
|
2 |
|
|
|||
|
= ∙ ( + , + ), |
|||||||||
|
|
4 |
|
|
|
3 |
|
|
||
а затем значение функции по формуле |
|
|
|
|
|
|
|
|||
|
= + ( + 2 |
+ 2 |
+ )/6. |
|||||||
+1 |
|
|
1 |
2 |
3 |
4 |
Эффективная оценка погрешности метода Рунге-Кутта затруднена. Поэтому для проверки правильности выбора шага h используют двойной пересчет значений в каждой точке; один раз с шагом h, другой – с шагом h/2.
Если условие
| − /2| |
≤ |
(11) |
|
15 |
|
||
|
|
|
выполняется, то шаг h выбран правильно, и переходят к расчету в следующей точке. В противном случае шаг уменьшается вдвое и расчеты повторяются. В
формуле (11): , /2 значения функции, рассчитанные с шагом h и h/2 соот-
ветственно.
Блок - схема алгоритма метода Рунге–Кутта приведена на рис.14.
2. Задание
Найти решение дифференциального уравнения в интервале [ 0, ] с точностью = 10−3.
3.Порядок выполнения лабораторной работы
1.Изучить свой вариант задания (см. с. 30).
29
2.Разработать блок-схему алгоритма решения задачи.
3.Составить программу решения задачи. Исходными данными являются:
Начало и конец интервала интегрирования – 0, ;
|
Начальное значение функции 0; |
|
Точность расчета ε; H – шаг интегрирования; |
вспомогательный массив (3).
4.Составить отчет по лабораторной работе.
4. Варианты заданий
Номер |
Уравнение |
у |
х0 |
хn |
|
Варианта |
|||||
|
|
|
|
||
1 |
у' = 1/у + х |
1 |
0 |
0,5 |
|
|
|
|
|
|
|
2 |
у' = х + у |
1 |
0 |
1 |
|
|
|
|
|
|
|
3 |
у' = 2ху + ху2 |
0,5 |
0 |
0,5 |
|
|
|
|
|
|
|
4 |
у' = х2у2 – 1 |
1 |
0 |
1 |
|
|
|
|
|
|
|
5 |
у' = у2х2 |
1 |
0 |
0,5 |
|
|
|
|
|
|
|
6 |
у' = (1 – х2)/у + 1 |
1 |
0 |
1 |
|
|
|
|
|
|
|
7 |
у' = 1 + х + у |
1 |
1 |
2 |
|
|
|
|
|
|
|
8 |
у' = 1+ ху/3 |
1 |
0 |
1 |
|
|
|
|
|
|
|
9 |
у' = х + у + 1 |
1 |
0,5 |
1,5 |
|
|
|
|
|
|
|
10 |
у' = 1/5ху |
1 |
0,5 |
1,5 |
|
|
|
|
|
|
|
11 |
у' = х2 + 1/24у2 |
0 |
0,3 |
1,3 |
|
|
|
|
|
|
|
12 |
у' = 1 + ху2 |
0 |
0 |
0,5 |
|
|
|
|
|
|
|
13 |
у' = х2 –1/5у2 |
0 |
0 |
0,5 |
|
|
|
|
|
|
|
14 |
у'= –0.5у2 + 0,1/(х + у)2 |
2 |
1 |
2 |
|
|
|
|
|
|
|
15 |
у' = 1 + ху |
1 |
0 |
1 |
|
|
|
|
|
|
|
|
30 |
|
|
|