Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
ВЫЧИСЛЕНИЕ ЕДИНИЧНОЙ МАТРИЦЫ ⇐ ПредыдущаяСтр 4 из 4
ТРАНСПОНИРОВАНИЕ МАТРИЦЫ Транспонирование матрицы A ={ }N*N предполагает перестановку в ней элементов строк и столбцов. Например, A = , тогда AT = . ( 16 ) Существуют два способа решения данной задачи: 1) с использованием новой матрицы AT ={ }N*N, в этом случае для ; 2) путем перестановки в три шага соответствующих элементов в исходной матрице A (рис.18). 2-ой шаг 1-ый шаг 3-ий шаг aij пустая ячейка b aji
Рис.18
Схемы алгоритмов транспонирования элементов матрицы для обоих способов показаны на рис. 19.
1) 2) Рис. 19 Инвертирование элементов вектора
Инвертирование вектора 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.
Рассмотрим поэтапный процесс решения данной задачи. 1. Ввод размерности N и всех элементов матрицы ( ). 2. Вычисление единичной матрицы E ={ }N*N. 3. Вычисление главной диагонали (вектор) ( ). 4. Вычисление побочной диагонали (вектор) ( ). 5. Инвертирование вектора C1: ( ). 6. Вычисление квадратной матрицы B=A-E. 7. Вычисление вектора D=B*C1IN. 8. Вычисление значения F= C2*C2. 9. Вычисление значения K=F-1. 10. Вычисление вектора Z=D* K. 11. Вывод вектора Z ={ }N. Алгоритмы для каждого этапа процедуры вычислений рассмотрены выше, за исключением очевидного десятого пункта. В процессе программирования достаточно сложных задач, подобных примеру 7, необходимо учесть следующие рекомендации: 1) предусмотреть комментарии к каждому пункту задачи; 2) организовать вывод значений рассчитанных параметров при выпол-нении каждого пункта задачи. Данные рекомендации способствуют лучшему пониманию и контролю процесса поэтапных вычислений.
АЛГОРИТМ поиска МАКСИМАЛЬНОГО ( ИЛИ МИНИМАЛЬ-НОГО ) элемента ВЕКТОРА
Дан вектор X ={ }N. Необходимо найти элемент вектора Х , имеющий максимальное значение. Например, пусть X = (3, 4, 2, -1, 6, 0). Очевидно, что M(max) = = 6; L (порядковый номер максимального элемента)=5. Процедура поиска максимального элемента вектора следующая: предположим, что максимальным является первый элемент, т.e. M=a1, L=1.
Алгоритм сортировки (упорядочивания) элементов вектора или матрицы
Сортировка означает перестановку элементов вектора или матрицы в определенном порядке (по возрастанию или по убыванию) в соответствии с их значениями. Рассмотрим алгоритм сортировки (упорядочивания) элементов вектора, когда значение каждого последующего элемента вектора больше предыдущего. Например, пусть исходный вектор X ={ }6=(3, 4, 2, -1, 6, 0), тогда в результате сортировки получим вектор X =(-1, 0, 2, 3, 4, 6). Существуют различные способы решения данной задачи. Рассмотрим один из них. Процедура сортировки элементов вектора X по возрастанию их значенийследующая.
Первый шаг Среди N-1 элементов вектора X (за исключением ) произведем поиск минимального элемента вектора и поменяем его местами с первым элементом, если значение < . В результате выполнения первого шага сортировки получим следующий вектор X =(-1, 4, 2, 3, 6, 0).
Второй шаг Среди N-2 элементов вектора X (за исключением , ) произведем поиск минимального элемента вектора и поменяем его местами со вторым элементом, если значение < . В результате выполнения второго шага сортировки получим вектор X =(-1, 0, 2, 3, 6, 4). Очевидно, после выполнения N-1 шага (в нашем примере после 5 шагов) получим окончательный упорядоченный вектор X =(-1, 0, 2, 3, 4, 6). Алгоритм упорядочивания по возрастанию элементов вектора показан на рис. 22. Данный алгоритм пригоден для упорядочивания элементов вектора по убыванию с очевидной заменой знака " > " на знак " < " в блоке проверки условия (рис. 22). Рассмотрим алгоритм сортировки элементов матрицы. Дана матрица A ={ }P*N . Необходимо упорядочить элементы столбцов матрицы А в порядке убывания. Алгоритм сортировки элементов матрицы для этого случая приведен на рис. 23. Последнее изменение этой страницы: 2016-05-28; Просмотров: 720; Нарушение авторского права страницы Главная | Случайная страница | Обратная связь |