- •ВЕКТОРЫ И МАТРИЦЫ
- •Типы векторов
- •Матрица
- •Типы матриц
- •Характеристики и операции
- •Исполняемая процедура
- •Норма матрицы (Эвклидова).
- •Сложение и вычитание векторов.
- •Сложение и вычитание матриц.
- •Скалярное произведение векторов
- •Умножение матриц.
- •Вызываемая процедура
- •Обращение матрицы методом Гаусса-Жордана
- •Текстуальный алгоритм метода Гаусса-Жордана состоит из четырёх этапов.
Умножение матриц.
|
|
|
|
|
|
|
C A B B A |
||||||
Cnm Ank Bkm |
||||||
|
|
|
|
|
|
|
Количество столбцов матрицыA |
должно равняться количеству строк матрицы B |
|||||
|
c |
|
|
|
|
|
|
|
|
|
|
||
Элементij вычисляется как скалярное произведение i-й строки матрицы A |
||||||
|
|
|
|
|
|
|
|
|
и j-го столбца матрицы |
|
B |
k
cij ail blj l 1
11
Вызываемая процедура
Sub MultM((NrowA%, NcolA%, NcolB%,A!(), B!(), C!()) Dim i%, j%, s!, l%
For i = 1 to NrowA For j = 1 to NcolB s = 0
For l = 1 to NcolA: s = s + A(i, l) * B(l, j): Next l C(i, j)=s
Next j
Next i End Sub
12
Обращение матрицы методом Гаусса-Жордана
1
Обратной матрицей называется такая квадратная матрица Ann , при умножении которой на исходную как справа так и слева
|
1 |
|
1 |
|
получается единичная матрица |
A |
A |
A A |
E |
|
|
|
|
|
Обращение матрицы A |
методом Гаусса-Жордана |
заключается в построении расширенной матрицы A E
и преобразовании расширенной матрицы так, чтобы на месте исходной получилась единичная матрица, тогда на месте единичной получится обратная матрица:
|
|
|
|
|
|
||||
En n |
|
Ann1 |
|
|
|
|
|
|
|
13
Текстуальный алгоритм метода Гаусса-Жордана состоит из четырёх этапов.
1. Строим расширенную матрицу дописав к исходной квадратной матрице единичную матрицу того же размера
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
Cn ,2n An n |
|
En n |
, и задаём номер ведущей строки k=1. |
||||
|
|
|
|
|
|
|
ckk |
|
2. |
Все элементы k-й строки делим на элемент |
|
||||||
|
|
ckj |
ckj |
, |
j = k,k+1,k+2,…,2·n |
т.е. |
ckk =1. |
|
|
|
ckk |
||||||
|
|
|
|
|
|
|
||
3. |
Преобразуем все i-е строки кроме k-й, i=1,2,3,…,n |
i≠k так, чтобы элементы |
cik=0. Для этого из каждого элемента i-й строки вычитаем соответствующий элемент k-й строки, умноженный на элемент cik , т.е.
cij cij ckj cik , j k, k 1, k 2,...,2 n
4.Проверяем условие k<n, если оно справедливо, то k=k+1 и выполняем алгоритм с пункта 2, иначе выводим полученную обратную матрицу, расположенную на месте единичной.
14
|
4.00 |
1.00 |
1.00 |
|
5.50 |
1.00 |
|
Пример. Найти обратную матрицу. A 2.00 |
|||
|
|
|
|
|
2.00 |
1.00 |
4.00 |
|
4.00 |
1.00 |
1.00 |
|
|
|
1.00 |
0.00 |
0.00 |
|
|
||||||||
|
5.50 |
1.00 |
|
|
|
0.00 |
1.00 |
0.00 |
|
C 2.00 |
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
2.00 |
1.00 |
4.00 |
|
|
|
0.00 |
0.00 |
1.00 |
k=1
Делим все элементы 1ой строки на c1,1(4.00)
|
1.00 |
0.25 |
0.25 |
|
|
|
0.25 |
0.00 |
0.00 |
||||
|
|
||||||||||||
|
2.00 |
5.50 |
1.00 |
|
|
|
0.00 |
1.00 |
0.00 |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2.00 |
1.00 |
4.00 |
|
|
|
0.00 |
0.00 |
1.00 |
|||||
|
1.00 |
0.25 |
0.25 |
|
|
|
0.25 |
0.00 |
0.00 |
||||
|
|
|
|||||||||||
|
0.00 |
5.00 |
0.50 |
|
|
|
0.50 |
1.00 |
0.00 |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0.00 |
0.50 |
3.50 |
|
|
|
0.50 |
0.00 |
1.00 |
i=2 – из 2ой стоки вычитаем 1ую умноженную на c21(2.00)
i=3 – из 3ей стоки вычитаем 1ую умноженную на c31(2.00)
k=2
Делим все элементы 2ой строки на c2,2(5.00)
15
1.00 |
0.25 |
0.25 |
|
|
0.25 |
|
0.00 |
0.00 |
||
|
|
|
||||||||
0.00 |
1.00 |
0.10 |
|
|
0.10 |
|
0.20 |
0.00 |
||
|
|
|
|
|
|
|
|
|
|
|
0.00 |
0.50 |
3.50 |
|
|
0.50 |
|
0.00 |
1.00 |
||
1.00 |
0.00 |
0.23 |
|
|
|
|
0.28 |
0.05 |
0.00 |
|
|
|
|
||||||||
0.00 |
1.00 |
0.10 |
|
|
0.10 |
|
0.20 |
0.00 |
||
|
|
|
|
|
|
|
|
|
|
|
0.00 |
0.00 |
3.45 |
|
|
|
0.45 |
|
0.10 |
1.00 |
|
1.00 |
0.00 |
0.23 |
|
|
|
|
0.28 |
0.05 |
0.00 |
|
|
|
|
|
|||||||
0.00 |
1.00 |
0.10 |
|
|
0.10 |
|
0.20 |
0.00 |
||
|
|
|
|
|
|
|
|
|
|
|
0.00 |
0.00 |
1.00 |
|
|
|
0.13 |
|
0.03 |
0.29 |
1.00 |
0.00 |
0.00 |
|
|
|
0.30 |
|
0.04 |
|
0.07 |
|
|
|||||||||
0.00 |
1.00 |
0.00 |
|
|
|
0.09 |
|
0.20 |
|
0.03 |
|
|
|
|
|
|
|
|
|
|
|
0.00 |
0.00 |
1.00 |
|
|
|
0.13 |
|
0.03 |
|
0.29 |
i=1 – из 1ой стоки вычитаем 2ую умноженную на c12(0.25)
i=3 – из 3ей стоки вычитаем 2ую умноженную на c32(0.50)
k=3
Делим все элементы 3ей строки на c33(3.45)
i=1 – из 1ой стоки вычитаем 3ью умноженную на c13(0.23)
i=2 – из 2ой стоки вычитаем 3ью умноженную на c23(0.10)
|
1 |
|
0.30 |
0.04 |
|
0.07 |
|
|
|
|
0.09 |
0.20 |
|
0.03 |
|
|
|
A |
|
|
||||||
|
|
|
|
|
|
|
|
16 |
|
|
0.13 |
0.03 |
|
0.29 |
|
||
|
|
|
|