- •Оглавление
- •Введение
- •Краткий обзор системы
- •Знакомство с интерфейсом Scilab
- •Функции, определяемые пользователем и процедуры
- •Циклы
- •Погрешность результата численного решения задачи
- •Приближенные вычисления определенных интегралов
- •Методы прямоугольников
- •Метод трапеций
- •Метод Симпсона
- •Квадратуры Гаусса
- •Методы Монте-Карло
- •Вычисление определенных интегралов в системе Scilab
- •Решение систем линейных алгебраических уравнений
- •Метод Гаусса
- •Формула Крамера
- •Метод простых итераций
- •Метод Зейделя
- •Метод отражений
- •Метод LU-разложений
- •Решение нелинейных алгебраических уравнений
- •Метод половинного деления
- •Метод секущих
- •Метод секущих (с изменяемым углом)
- •Метод Ньютона (касательных)
- •Метод Бернулли
- •Аппроксимация и интерполирование функций
- •Интерполяционный многочлен Лагранжа
- •Интерполяционная формула Ньютона
- •Интерполяционные формулы Гаусса
- •Линейная аппроксимация по методу наименьших квадратов
- •Кусочно-кубические сплайны
- •Анимация на плоскости
- •Анимация в пространстве
- •Метод Рунге-Кутта
- •Метод Эйлера
- •Метод Прогонки
- •Метод Пикара
- •Возможности Scilab для решения ОДУ
- •Список Литературы
47
for j = 1:n temp = a(i,i); a(i,i) = 0;
x_1(i) = x_1(i)-a(i,j)*x(j); a(i,i) = temp;
end
x_1(i) = (x_1(i)+a(i,m))/a(i,i); end
x = x_1; z_prev = z;
end
Рис.3.4. Метод простых итераций
4) МЕТОД ЗЕЙДЕЛЯ
Данный метод очень похож на метод простых итераций, отличие заключается в том, что как только мы нашли из формул (*) очередной x1 , то его мы
подставляем сразу же в формулу (*) для x2 . Находим этот x2 и подставляем его вместе с найденным на этой итерации x1 в формулу (*) для x3 , тем самым мы ускоряем процесс.
Для системы (1) зададим начальные значения x1 = 0, |
x2 = 0, x3 = 0; |
||||||||||||||||||||
Тогда, из (*) имеем: |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
11 |
|
|
|
|
|
|
|
11 |
|
−14 |
|
||||
|
11 |
|
|
|
|
5 − |
|
|
= − |
14 |
|
|
|
= |
−17 + 4 |
|
|
|
− 2 |
|
|
x = |
, |
x |
2 |
= − |
5 |
, |
x |
3 |
5 |
|
15 |
≈ 0.904762; |
|||||||||
|
|
|
|
|
|
|
|
|
|
||||||||||||
1 |
5 |
|
|
|
3 |
|
|
15 |
|
|
|
|
− 7 |
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
Продолжаем итерации (см. табл.3.2):
|
|
|
|
|
|
48 |
№ |
x1 |
x2 |
x3 |
11−(5x1 −2x2 + x3 ) |
5 − ( x1 − 3x2 + x3 ) |
−17−(−4x1 +2x2 −7x3) |
0 |
2,2 |
-0,93333 |
0,904762 |
2,771429 |
-0,90476 |
0 |
1 |
1,645714 |
-0,63175 |
0,904762 |
-0,60317 |
0,554286 |
-2,82032 |
2 |
1,766349 |
-0,81651 |
1,307664 |
0,772426 |
-0,52354 |
0,852063 |
3 |
1,611864 |
-0,642 |
1,185941 |
-0,47075 |
0,276209 |
-0,96697 |
4 |
1,706014 |
-0,73407 |
1,324079 |
0,322277 |
-0,23229 |
0,560738 |
5 |
1,641558 |
-0,65664 |
1,243974 |
-0,23496 |
0,144561 |
-0,41268 |
6 |
1,688551 |
-0,70482 |
1,302928 |
0,155328 |
-0,10595 |
0,284345 |
7 |
1,657485 |
-0,66951 |
1,262307 |
-0,11125 |
0,071686 |
-0,19489 |
8 |
1,679736 |
-0,6934 |
1,290149 |
0,075633 |
-0,05009 |
0,136793 |
9 |
1,664609 |
-0,67671 |
1,270607 |
-0,05294 |
0,034668 |
-0,0939 |
10 |
1,675197 |
-0,68826 |
1,284022 |
0,036527 |
-0,024 |
0,065462 |
11 |
1,667891 |
-0,68026 |
1,27467 |
-0,02535 |
0,016657 |
-0,04522 |
12 |
1,672962 |
-0,68581 |
1,281131 |
0,017565 |
-0,01153 |
0,031387 |
13 |
1,669449 |
-0,68197 |
1,276647 |
-0,01217 |
0,007997 |
-0,02174 |
14 |
1,671883 |
-0,68463 |
1,279752 |
0,008437 |
-0,00554 |
0,015068 |
15 |
1,670196 |
-0,68279 |
1,2776 |
-0,00585 |
0,00384 |
-0,01044 |
16 |
1,671365 |
-0,68407 |
1,279092 |
0,004052 |
-0,00266 |
0,007237 |
17 |
1,670554 |
-0,68318 |
1,278058 |
-0,00281 |
0,001844 |
-0,00502 |
18 |
1,671116 |
-0,6838 |
1,278774 |
0,001946 |
-0,00128 |
0,003476 |
19 |
1,670727 |
-0,68337 |
1,278278 |
-0,00135 |
0,000886 |
-0,00241 |
20 |
1,670996 |
-0,68367 |
1,278622 |
0,000935 |
-0,00061 |
0,001669 |
21 |
1,67081 |
-0,68346 |
1,278383 |
-0,00065 |
0,000425 |
-0,00116 |
22 |
1,670939 |
-0,6836 |
1,278549 |
0,000449 |
-0,00029 |
0,000802 |
23 |
1,670849 |
-0,6835 |
1,278434 |
-0,00031 |
0,000204 |
-0,00056 |
24 |
1,670912 |
-0,68357 |
1,278514 |
0,000216 |
-0,00014 |
0,000385 |
25 |
1,670868 |
-0,68352 |
1,278458 |
-0,00015 |
9,81E-05 |
-0,00027 |
26 |
1,670898 |
-0,68356 |
1,278497 |
0,000104 |
-6,8E-05 |
0,000185 |
27 |
1,670878 |
-0,68354 |
1,27847 |
-7,2E-05 |
4,71E-05 |
-0,00013 |
28 |
1,670892 |
-0,68355 |
1,278489 |
4,97E-05 |
-3,3E-05 |
8,88E-05 |
Таблица.3.2. Итерации Зейделя
Таким образом, вектор ответов:
x1x2
x3
=1,670892
=−0.68355 ;
=1.278489
• Теперь представим решение в системе Scilab.
Попробуйте найти отличия этой программы от предыдущей, а еще лучше напишите код сами!
Листинг 3.4. e = 0.0001;
z_prev = 1000000;
f = mopen('C:\Matrix.txt','r'); n = mfscanf(f,'%d');
m = mfscanf(f,'%d'); for i = 1:n
for j = 1:m
a(i,j) = mfscanf(f,'%g');
49
end end mclose(f);
//проверка на сходимость for i = 1:n
for j = 1:n
if abs(a(i,j)) > abs(a(i,i)) disp('Система расходится'); return;
end end
end
//будущий вектор ответов
for i = 1:n x(i) = 0.0;
end
while 5 < 7 for i = 1:n
x_1(i) = 0.0; end
z = 0; z_1 = 0; z_2 = 0; for i = 1:n
z = z + a(1,i)*x(i);
z_1 = z_1 + a(2,i)*x(i); z_2 = z_2 + a(3,i)*x(i);
end
z = a(1,m)-z;
z_1 = a(2,m)-z_1; z_3 = a(3,m)-z_2;
if abs(z) < e & abs(z_1) < e & abs(z_1) < e disp('Вектор ответов');
x return;
end
for i = 1:n for j = 1:n
temp = a(i,i); a(i,i) = 0;
x_1(i) = x_1(i)-a(i,j)*x(j); a(i,i) = temp;
end
x_1(i) = (x_1(i)+a(i,m))/a(i,i); x(i) = x_1(i);
end z_prev = z;
end
50
Рис.3.5 Метод Зейделя
5) МЕТОД ОТРАЖЕНИЙ
Метод отражений применяется для решения систем линейных уравнений Ax = f . Это один из лучших методов для решения СЛАУ общего вида
(матрица системы может быть как действительной, так и комплексной). Идея метода заключается в следующем: матрица A системы раскладывается в произведение двух матриц – унитарной матрицы и правой треугольной матрицы: A =WT , где W - унитарная матрица, T - правая треугольная матрица.
Унитарная матрица W – такая матрица, для которой выполнено:
где E - единичная матрица. Унитарную матрицу W можно получить как произведение специальных матриц, называемых матрицами отражения Vi :
W =∏Vi .
i |
|
|
|
|
|
|
|
a |
a |
K |
a |
|
|
|
11 |
12 |
|
1n |
|
|
Разложение матрицы |
A = a21 |
a22 |
K a2n |
системы в произведение |
||
|
M |
M |
O |
K |
|
|
|
|
an2 |
|
|
|
|
|
an1 |
K ann |
|
|||
унитарной и правой треугольной происходит в несколько этапов:
1)Задаем вектор S . В качестве данного вектора выбираем первый столбец матрицы A системы: S = (a11 ,a21 , K,an1 ) .
|
|
|
|
|
− |
|
|
|
|
|
|
|
|
|
|
|
Находим вектор ϖ1 по формуле: ω = |
|
|
S |
|
S |
|
|
e |
, где |
e - единичный |
||||||
|
|
|
|
− |
|
|
|
|
|
|
e |
|
|
|||
|
|
|
S |
|
|
S |
|
|
|
|
|
|
||||
вектор. Заметим, что ω - вектор-столбец единичной длины ( (ω,ω) =1). |
||||||||||||||||
Строим матрицу отражения по формуле: |
V1 = E −2ϖ1ϖ1* . |
|
||||||||||||||
Домножаем A слева на V1 , получаем матрицу |
A1 =V1 A , |
которая имеет |
||||||||||||||
следующий вид: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51
|
|
|
|
|
|
|
|
|
|
a |
|
(1) a |
(1) |
K |
a |
(1) |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
11 |
|
12 |
(1) |
|
|
1n |
(1) |
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
A |
= |
0 |
a22 |
K a2n |
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
1 |
|
|
|
M |
|
M |
|
O |
K |
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
0 |
a |
|
(1) |
K a |
|
(1) |
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
n2 |
nn |
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Домножаем также B - вектор свободных членов, слева на V1 , получаем |
||||||||||||||||||||||||||
матрицу |
B1 . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Получаем новую систему |
A1 X = B1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
2) |
|
|
|
|
|
выбираем |
вектор |
|
|
|
(1) , K, an2 |
(1) ) . В |
||||||||||||||
Теперь в качестве вектора S |
|
S = (0, a22 |
||||||||||||||||||||||||
|
качестве же |
e |
возьмем вектор равный |
|
e = (0,1, 0, K,0) . С помощью |
|||||||||||||||||||||
|
приведенных выше формул |
находим вектор ϖ |
2 |
|
и строим матрицу V2 |
|||||||||||||||||||||
|
по формуле V2 = E −2ϖ |
2ϖ |
2 |
* . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
Находим матрицу A2 =V2 A1 , которая имеет следующий вид: |
|
|
||||||||||||||||||||||||
|
a (2) |
a (2) |
a |
(2) |
K a |
(2) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
11 |
12 |
13 |
|
|
|
1n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
A |
|
0 |
a22 (2) |
a23(2) |
K a2n (2) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
= |
0 |
0 |
a |
(2) |
K a |
|
(2) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
2 |
33 |
3n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
M |
M |
|
M |
O |
|
K |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
0 |
0 |
|
(2) |
|
|
|
|
(2) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
an3 |
K ann |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
Домножаем B1 слева на V2 . Получаем новую систему A2 X = B2 Продолжая описанный процесс построения, на (n −1) -м шаге получим матрицу An−1 =Vn−1 Vn−2 K V2 V1 A , которая имеет вид:
|
a |
(n−1) |
a (n−1) |
K |
a |
(n−1) |
|
|
|
|
11 |
12 |
|
1n |
|
||
An−1 |
= |
|
0 |
a22(n−1) |
K a2n (n−1) |
. |
||
|
|
|
M |
M |
O |
|
K |
|
|
|
|
0 |
0 |
K a |
(n−1) |
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
nn |
|
В итоге, получим систему An−1 X = Bn−1 . Далее решение можно легко найти, используя метод обратной подстановки.
Рассмотрим пример. Дана система линейных уравнений:
X1 + X 2 + X 3 = 3,
2X1 + X 2 +3X 3 = 6,
X1 + 2X 2 − 2X 3 =1.
эту систему можно записать в матричном виде: A X = B ,
1 |
1 |
1 |
X1 |
3 |
|
A = 2 |
1 |
3 , |
X = X 2 |
, |
B = 6 . |
|
2 |
|
|
|
|
1 |
− 2 |
X 3 |
|
1 |
|
52
1
В качестве S возьмем первый столбец матрицы A : S = 2 , S =
6 в
1
|
|
|
|
|
1 |
|
|
|
|
|
− |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
S − |
S e |
1 |
6 |
|
|
|
|
6 . |
|
|
|
|
|
||||||
качестве e : e = |
0 |
, |
= |
2 |
|
= |
12 −2 |
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1− 6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 − 2 |
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Находим ω : |
ω |
= |
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
12 − 2 |
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 − 2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Найдем матрицу V1: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
1 |
− |
6 |
|
|
|
|
2 |
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
ω* = |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 − 2 6 |
|
12 − 2 6 |
|
12 − 2 6 |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
1 |
|
7 |
− 2 6 2 − |
2 6 1− |
6 |
|
|
|
|
|
|
|
|
|
|
|
|
||||||
ωω* = |
|
|
− 2 6 |
|
4 |
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
− 2 6 |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
12 |
1 |
− |
|
6 |
|
2 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 0 0 |
|
|
|
|
7 − 2 6 2 − 2 6 1− |
6 |
|
|
|
|
6 −1 2 6 − 2 |
6 −1 |
||||||||||||
V = |
0 1 0 − 1 |
|
2 |
− 2 6 |
|
4 |
|
2 |
|
|
= 1 |
|
2 6 |
− 2 2 |
− 6 |
− 2 |
|
|
|||||||
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 − |
6 |
|
|
|
|
|
|
|
|
|
|
|
6 − 6 |
|
|
|
2 |
|
1 |
|
|
|
6 |
−1 |
− 2 |
5 − |
6 |
|
||||||
|
0 0 1 |
|
|
|
|
1− 6 |
|
|
|
|
|
|
|
|
|||||||||||
Домножаем |
A слева на V1: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
6 6 −6 5 6 −5 5 6 −5 |
|
|
|
|
|
|
|
|
|
|
|||||||||
A1 =V1 A = |
|
1 |
|
|
|
0 |
|
6 − 4 |
8 − 6 |
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
6 − 6 |
|
|
0 |
|
7 − 6 3 6 −17 |
|
|
|
|
|
|
|
|
|
|
|||||||
Домножаем |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
B слева на V1: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
16 |
6 − |
16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
B1 =V1 B = |
1 |
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
6 |
− |
6 |
2 |
6 −10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Получаем новую систему |
|
1 |
A1 X = |
|
1 |
B1 |
или A1 X = B1 |
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
6 − |
6 |
|
6 − |
6 |
|
|
|
|
|
|
|
|
|||
53
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
|
|
На 2-м шаге в качестве |
|
возьмем: S = |
6 − 4 , |
S = |
77 − 22 |
6 в качестве |
||||||||||
S |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
− |
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
|
|
|
||
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
e : |
e = 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
S − |
|
6 |
− 4 − |
|
77 − 22 |
|
154 − 44 |
6 − 2( |
6 − 4) |
77 − 22 |
6 = 7,819 |
|||||
S e = |
|
6 = |
||||||||||||||
|
|
|
7 |
− |
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
− 4 − |
77 − 22 |
6 |
|
|
|
|
|
|
||
|
|
|
ω := |
|
154 − 44 |
6 − 2( |
6 − 4) |
77 − 22 |
6 |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 − |
6 |
|
|
|
|
|
|
|
Находим ω : |
|
|
|
|
|
|
6 − 2( |
6 − 4) |
|
|
|
|
|
|
|
|
|
|
|
154 − 44 |
77 − 22 |
6 . |
|
|
|||||||||
Найдем матрицу V2 :
|
|
|
|
|
6 − 4 − 77 − 22 6 |
|
|
|
|
7 − 6 |
|
|
||
ω* = 0 |
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
154 − 44 |
6 − 2( 6 − 4) 77 − 22 6 |
154 − 44 6 − 2( 6 − |
4) 77 − 22 6 |
|
|||||||
|
|
|
|
|||||||||||
ωω* = |
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
154 − 44 |
6 − 2( 6 − 4) 77 − 22 |
6 |
|
|
|
|
|
|
|||||
0 |
|
|
|
|
0 |
|
|
|
|
0 |
|
|
|
|
|
|
( 6 − 4 − |
77 − 22 6 ) |
2 |
(7 |
− 6)( 6 − 4 − 77 |
|
|
|
|||||
0 |
|
|
− 22 6 ) |
|
|
|||||||||
|
|
− 6)( 6 − 4 − 77 − 22 6 ) |
|
(7 − |
6) |
2 |
|
|
|
|||||
0 (7 |
|
|
|
|
|
|||||||||
|
1 |
0 |
0 |
|
|
|
1 |
|
|
|
|
|
|
|
V = 0 |
1 |
0 − |
|
|
|
|
|
|
|
|
|
|
||
2 |
|
|
|
77 |
− 22 6 −( 6 − 4) 77 − 22 6 |
|
|
|
|
|
||||
|
|
0 |
|
|
|
|
|
|
||||||
|
0 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
|
0 |
|
|
|
|
0 |
|
|
|
|
|
|
( 6 − 4 − |
77 − 22 6 ) |
2 |
(7 |
− 6)( 6 − 4 − 77 |
|
|
|
|||||
0 |
|
|
− 22 6 ) = |
|
|
|||||||||
|
|
− 6)( 6 − 4 − 77 − 22 6 ) |
|
(7 − |
6) |
2 |
|
|
|
|||||
0 (7 |
|
|
|
|
|
|||||||||
= |
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
77 − 22 |
6 −( |
6 − 4) 77 − 22 |
6 |
|
|
|
|
|
|
|
||||
1 |
|
|
|
|
0 |
|
|
|
|
0 |
|
|
|
|
|
− 22 +8 6 + ( 6 − 4) 77 − 22 6 −(7 − 6)( 6 − 4 − |
|
|
|
||||||||||
0 |
77 − 22 6 ) |
|
||||||||||||
|
− |
(7 − 6)( 6 − 4 − 77 − 22 6 ) 22 −8 6 −( 6 − 4) 77 − 22 6 |
|
|
||||||||||
0 |
|
|
||||||||||||
Домножаем A1 слева на V2 , предварительно домножив обе части |
|
|||||||||||||
системы A1 X = B1 |
на |
|
|
1 |
|
|
|
: |
|
|
||||
|
6 −( |
6 −4) |
77 −22 6 |
|
|
|||||||||
|
|
|
|
|
77 −22 |
|
|
|
||||||
54
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
0 |
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
A |
=V |
A |
= |
0 |
|
|
− 22 +8 6 + ( 6 − 4) 77 − 22 6 −(7 − 6)( 6 − 4 − 77 − 22 6 ) |
|
|
|||||||||||||||||||||
|
|
|
2 |
|
|
2 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
−(7 − 6)( 6 − 4 − |
77 − 22 6 ) 22 −8 6 −( 6 − 4) 77 − 22 6 |
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
||||||||||||||||
|
|
|
6 6 −6 5 6 −5 5 6 −5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
0 |
|
|
|
|
6 − 4 |
8 − |
6 |
|
= |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
0 |
|
|
|
|
7 − |
|
6 |
3 6 −17 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 6 −6 |
|
|
|
|
|
|
|
|
|
5 6 −5 |
|
|
|
|
5 6 −5 |
|
|
|
|
|
|
||||||||
|
|
|
|
|
0 |
|
|
|
(77 − 22 |
6)( |
77 − 22 6 − 6 + 4) (175 −50 |
6)( |
6 − 4 − |
77 − 22 |
|
|
|
|
||||||||||||||
|
|
= |
|
|
|
|
6 ) |
|
|
|||||||||||||||||||||||
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
(24 −14 |
6)( |
6 − 4 − |
77 − 22 6 ) |
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Домножаем |
B1 |
|
слева на V2 : |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
0 |
|
|
|
|
0 |
|
|
|
|
|
|
|
||||
B |
2 |
=V B = 0 |
− 22 +8 6 + ( 6 − 4) 77 − 22 6 −(7 − 6)( 6 − 4 − 77 − 22 6 ) |
|
|
|
||||||||||||||||||||||||||
|
|
|
2 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
−(7 − 6)( 6 − 4 − |
77 − 22 6 ) 22 −8 6 −( 6 − 4) 77 − 22 6 |
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
0 |
|
|
|
|
|
||||||||||||||||||||
16 |
6 −16 |
|
|
|
|
|
|
|
|
|
16 |
6 −16 |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
6)( |
6 − 4 − |
77 − 22 |
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
= (98 − 28 |
6 ) |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
2 |
6 |
−10 |
|
|
|
(24 −14 |
6)( |
6 − 4 − |
77 − 22 |
6 ) |
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Получаем новую систему |
A2 X = B2 : |
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
6 6 −6 |
|
|
|
|
|
|
|
|
|
|
5 6 −5 |
|
|
|
|
|
5 6 −5 |
|
|
|
X1 |
|
|
|||||||||
|
|
|
0 |
|
(77 − |
22 |
|
6)( |
77 − 22 |
6 − |
6 + 4) |
(175 −50 |
6)( 6 − 4 − |
77 − 22 |
|
|
|
|
= |
|||||||||||||
|
|
|
|
|
6 ) |
X 2 |
|
|||||||||||||||||||||||||
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
|
(24 −14 |
6)( |
6 − 4 − |
77 − 22 |
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 ) |
X 3 |
|
|
||||||||||
|
|
|
|
|
|
|
|
|
16 |
|
6 −16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
= |
|
|
|
− 28 |
6)( |
|
6 − 4 − |
77 − 22 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
(98 |
|
6 ) . |
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
(24 |
−14 |
6)( |
|
6 − 4 − |
77 − 22 |
6 ) |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Отсюда X = [1 |
|
|
1 |
|
1]. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
Задача |
|
1. |
|
Решить систему |
трех |
линейных |
алгебраических |
уравнений |
|||||||||||||||||||||
|
|
|
4x −2x |
2 |
+ x |
3 |
=12, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
методом отражений. |
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
x1 +4x2 −2x3 = 7, |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
− |
2x − x |
2 |
+4x |
3 |
= 0. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
Решение. |
Приведем решение данной задачи в системе Scilab. |
|
|
|
|
|
|||||||||||||||||||||||
Листинг 3.5.
n=3;
A=[4, -2, 1;1, 4, -2;-2, -1, 4]; //задаем матрицу системы b=[12, 7, 0]; //задаем вектор свободных членов
for i=1:n s(i)=0; v(i)=0; e(i)=0;
55
b1(i)=0; for j=1:n
E(i, j) = 0; V(i, j) = 0; A1(i, j) = 0;
end
E(i, i) = 1; end norma=0; norma1=0; for i = 1:n-1
norma = 0; norma1 = 0; e(i) = 1;
for j = i:n
s(j) = A(j, i);
norma1 = norma1+ s(j)*s(j);
end
for j = 1:i-1 s(j) = 0;
end
norma1 = sqrt(norma1); for j = i:n
w(j) = s(j) - norma1*e(j); norma = norma+w(j)*w(j);
end
norma = sqrt(norma); for j = i:n
w(j) = w(j) / norma;
end
for j = i:n
for l = i:n
V(j, l) = E(j, l) - 2*w(j)*w(l);
end
end
for j = i:n
for l = i:n
b1(j) = b1(j)+V(j, l)*b(l); for k = i:n
A1(j, l) = A1(j, l)+V(j, k)*A(k, l);
end
end
end
for j=i:n
b(j) = b1(j); b1(j) = 0; for l=i:n
A(j, l) = A1(j, l); A1(j, l) = 0;
end
end e(i) = 0;
56
end x=[0,0,0]; for i=n:(-1):1
x(i) = b(i); for j=i+1:n
x(i)=x(i)-A(i, j)*x(j);
end
x(i) = x(i)/A(i, i); end
"Решение: " for l = 1:n
x(l) //выводим вектор-решение (х1, х2, х3) end
Рис. 3.6. Метод отражений
Решим теперь систему уравнений с комплексными коэффициентами.
Задача 2. Решить систему трех линейных алгебраических уравнений
(4 +2i) x1 |
−2x2 + x3 =12, |
|||||
|
+i) x1 +4x2 −2x3 = 7, методом отражений. |
|||||
(1 |
||||||
−2x |
− x |
2 |
+4x |
3 |
= 0. |
|
|
1 |
|
|
|
||
Решение. Программа для решения этой задачи отличается от предыдущей программы только коэффициентами матрицы системы, все остальные действия, производимые в программе, - точно такие же.
