- •Рецензент: Писаренко э.В.
- •Введение
- •Алгоритмизация
- •1. Вычисление суммы (суммирование) элементов вектора
- •2. Вычисление произведения элементов вектора
- •Пример 3
- •3. Вычисление произведения двух векторов
- •4. Суммирование (вычитание) матриц
- •5. ВычислениЕ произведения матриц
- •6. Вычисление произведения матрицы на вектор
- •7. Вычисление единичной матрицы
- •8. Транспонирование матрицы
- •Aij пустая ячейка b aji
- •9. Инвертирование элементов вектора
- •10. Алгоритм поиска максимального ( или минималь-ного ) элемента вектора
- •11. Алгоритм сортировки (упорядочивания) элементов вектора или матрицы
- •12. Вычисление полинома по схеме горнера
- •13. Вычисление суммы членов ряда
- •Содержание
8. Транспонирование матрицы
Транспонирование
матрицы A={
}N*N
предполагает
перестановку в ней элементов строк и
столбцов.
Например, A=
,
тогда AT
=
. (
16 )
Существуют два способа решения данной задачи:
-
с использованием новой матрицы AT={
}N*N
,
в этом случае
для
;
-
путем перестановки в три шага соответствующих элементов в исходной матрице A (рис.18).
2

-ой
шаг
1
-ый
шаг 3-ий шаг
Aij пустая ячейка b aji
Рис.18
Схемы алгоритмов транспонирования элементов матрицы для обоих способов показаны на рис. 19.

1) 2)
Рис. 19
9. Инвертирование элементов вектора
Инвертирование
вектора X={
}N
означает перечисление элементов вектора
в обратном порядке. Например, если X=(0,
-3, 2, 6), тогда XIN
= (6, 2, -3,
0) .
Аналогично, существуют два способа решения данной задачи:
1) с использованием
нового вектора XIN={
}N
,
в этом случае
=
для
;
2) путем перестановки в три шага соответствующих элементов в исходном векторе X .
Схемы алгоритмов способов инвертирования элементов вектора пред-ставлены на рис. 20.
1) 2)
Рис. 20
Рассмотрим более сложную задачу.
Пример 7
Необходимо вычислить значение параметра Z в соответствии со следующим выражением:
Z = ( A - E ) * C1IN * ( C22 - 1 ) , ( 17 )
где A - исходная матрица, все элементы и размерность которой известны;
E – единичная матрица;
C1 – главная диагональ матрицы A;
C2 – побочная диагональ матрицы A.
Рассмотрим поэтапный процесс решения данной задачи.
-
Ввод размерности N и всех элементов матрицы
(
). -
Вычисление единичной матрицы E={
}N*N. -
Вычисление главной диагонали (вектор)
(
). -
Вычисление побочной диагонали (вектор)
(
). -
Инвертирование вектора C1:
(
). -
Вычисление квадратной матрицы B=A-E.
-
Вычисление вектора D=B*C1IN.
-
Вычисление значения F=C2*C2.
-
Вычисление значения K=F-1.
-
Вычисление вектора Z=D*K.
-
Вывод вектора Z={
}N.
Алгоритмы для каждого этапа процедуры вычислений рассмотрены выше, за исключением очевидного десятого пункта.
В процессе программирования достаточно сложных задач, подобных примеру 7, необходимо учесть следующие рекомендации:
1) предусмотреть комментарии к каждому пункту задачи;
2) организовать вывод значений рассчитанных параметров при выпол-нении каждого пункта задачи.
Данные рекомендации способствуют лучшему пониманию и контролю процесса поэтапных вычислений.
10. Алгоритм поиска максимального ( или минималь-ного ) элемента вектора
Дан вектор X={
}N
.
Необходимо найти
элемент вектора Х
, имеющий максимальное значение. Например,
пусть X
= (3, 4, 2, -1, 6,
0). Очевидно, что M(max)
=
=
6; L
(порядковый номер максимального
элемента)=5.
Процедура поиска максимального элемента вектора следующая: предположим, что максимальным является первый элемент, т.e. M=Х1, L=1.
|
Алгоритм поиска максимального элемента вектора показан на рис. 21. Данный алгоритм пригоден для поиска минимального элемента вектора при очевидной замене знака "<" на знак ">" в блоке проверки условия (рис. 21).
|
Рис. 21 |

Затем
каждый элемент