Слияние и разбиение матриц
Из матрицы или вектора можно выделить либо подматрицу, либо вектор-столбец, либо отдельный элемент. И обратно, можно "склеить" несколько матриц в одну.
Выделение части матрицы
Часть матрицы выделяется одним из следующих способов:
- для выделения одного элемента предназначен оператор нижнего индекса (подробнее об этом операторе рассказано в разд. "Доступ к элементам массива" гл. 4). Оператор вводится нажатием кнопки Subscript (Нижний индекс) со значком хn на панели Matrix (Матрица), либо нажатием клавиши [ (листинг 9.22, вторая строка сверху);
- для выделения из матрицы столбца примените оператор выделения столбца нажатием кнопки Matrix Column с изображением угловых скобок <> на панели Matrix, либо сочетанием клавиш CTRL + 6 (листинг 9.22). Этот оператор называют еще, по аналогии с предыдущим, оператором верхнего индекса;
- чтобы выделить из матрицы строку, примените тот же оператор <> к транспонированной матрице (листинг 9.22, снизу);
- для выделения подматрицы используйте встроенную функцию submatrix(A/ir/jr,ic, jc), возвращающую часть матрицы А, находящуюся между строками ir, jr и столбцами ic, jc включительно (листинг 9.23).
Выделить из матрицы один столбец или строку можно и с помощью функции submatrix.
Листинг 9.22. Доступ к отдельным элементам, столбцам и строкам матрицы:
Листинг 9.23. Выделение подматрицы:
Те же операции применимы к матрицам-векторам и матрицам-строкам. Следует помнить только, что размер их составляет NX1 и 1XN, соответственно (листинг 9.24).
Листинг 9.24. Выделение частей из векторов и строк:
Слияние матриц
Для того чтобы составить из двух или более матриц одну, в Mathcad предусмотрены две матричные функции (листинг 9.25):
- augment (А, в, с,…) – матрица, сформированная слиянием матриц-аргументов слева направо;
- stack (А, в, с,…) – матрица, сформированная слиянием матриц-аргументов сверху вниз;
- А,В,С,… – векторы или матрицы соответствующего размера.
Листинг 9.25. Примеры слияния матриц: