9.2.2. Слияние и разбиение матриц

Из матрицы или вектора можно выделить либо подматрицу, либо вектор-столбец, либо отдельный элемент. И обратно, можно "склеить" несколько матриц в одну.

Выделение части матрицы

Часть матрицы выделяется одним из следующих способов:

  • для выделения одного элемента предназначен оператор нижнего индекса (подробнее об этом операторе рассказано в разд. "Доступ к элементам массива" гл. 4). Оператор вводится нажатием кнопки 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. Выделение подматрицы

Те же операции применимы к матрицам-векторам и матрицам-строкам. Следует помнить только, что размер их составляет NX1 и 1XN, соответственно (листинг 9.24).

Листинг 9.24 Выделение частей из векторов и строк

Слияние матриц

Для того чтобы составить из двух или более матриц одну, в Mathcad предусмотрены две матричные функции (листинг 9.25):

  • augment (А, в, с,...) — матрица, сформированная слиянием матриц-аргументов слева направо;
  • stack (А, в, с,...) — матрица, сформированная слиянием матриц-аргументов сверху вниз;
    • А,В,С,... — векторы или матрицы соответствующего размера.

Листинг 9.25. Прмеры слияния матриц