Слияние и разбиение матриц
Из матрицы или вектора можно выделить либо подматрицу, либо вектор-столбец, либо отдельный элемент. И обратно, можно "склеить" несколько матриц в одну. Выделение части матрицы Часть матрицы выделяется одним из следующих способов: · для выделения одного элемента предназначен оператор нижнего индекса. Оператор вводится нажатием кнопки Subscript (Нижний индекс) со значком хn на панели Matrix (Матрица), либо нажатием клавиши <[> (листинг 9.22, вторая строка сверху); · для выделения из матрицы столбца примените оператор выделения столбца нажатием кнопки Matrix Column с изображением угловых скобок <> на панели Matrix, либо сочетанием клавиш <Ctrl>+<6> (листинг 9.22). Этот оператор называют еще, по аналогии с предыдущим, оператором верхнего индекса; · чтобы выделить из матрицы строку, примените тот же оператор О к транспонированной матрице (листинг 9.22, снизу); · для выделения подматрицы используйте встроенную функцию subma-trix(A/ir/jr,ic, jc), возвращающую часть матрицы А, находящуюся между строками ir, jr и столбцами ic, jc включительно (листинг 9.23). Выделить из матрицы один столбец или строку можно и с помощью функции submatrix.
Листинг 9.22. Доступ к отдельным элементам, столбцам и строкам матрицы
Листинг 9.23. Выделение подматрицы
Те же операции применимы к матрицам-векторам и матрицам-строкам. Следует помнить только, что размер их составляет N*1 и 1*N, соответственно (листинг 9.24).
Листинг 9.24 Выделение частей из векторов и строк
Слияние матриц Для того чтобы составить из двух или более матриц одну, в Mathcad предусмотрены две матричные функции (листинг 9.25): · augment (А, B, C,...) — матрица, сформированная слиянием матриц-аргументов слева направо;
· stack (А, B, C,...) — матрица, сформированная слиянием матриц-аргументов сверху вниз; o А,В,С,... — векторы или матрицы соответствующего размера.
Листинг 9.25. Примеры слияния матриц
Вывод размера матриц Для получения сведений о характеристиках матриц или векторов предусмотрены следующие встроенные функции (листинг 9.26): · rows (A) — число строк; · cols (A) — число столбцов; · length (v) — число элементов вектора; · last(v) — индекс последнего элемента вектора;
Число элементов вектора и индекс его последнего элемента совпадают, если индексы нумеруются с 1, т. е. системная константа ORIGIN равна 1 (см. гл. 4). Листинг 9.26. Размер матриц и векторов
Сортировка матриц Часто бывает нужно переставить элементы матрицы или вектора, расположив их в определенной строке или столбце в порядке возрастания или убывания. Для этого имеются несколько встроенных функций, которые позволяют гибко управлять сортировкой матриц: · sort(v) — сортировка элементов вектора в порядке возрастания (листинг 9.27); · csort(A,i) — сортировка строк матрицы выстраиванием элементов 1-го столбца в порядке возрастания (листинг 9.28); · rsort(A,i) — сортировка столбцов матрицы выстраиванием элементов i-й строки в порядке возрастания (листинг 9.29); · reverse (v) — перестановка элементов вектора в обратном порядке (листинг 9.27);
Если элементы матриц или векторов комплексные, то сортировка ведется по действительной части, а мнимая часть игнорируется. Листинг 9.27. Сортировка векторов Листинг 9.28. Сортировка матриц по столбцу
Листинг 9.29. Сортировка матриц по строке (матрица А из листинга 9.28)
Ранг матрицы Рангом (rank) матрицы называют наибольшее натуральное число k, для которого существует не равный нулю определитель k-ro порядка подматрицы, составленной из любого пересечения k столбцов и k строк матрицы.
Для вычисления ранга в Mathcad предназначена функция rank. · rank (А) — ранг матрицы;
Листинг 9.32. Ранг матрицы
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|