7.4.2. Разбиение и слияние матриц



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

Выделение подматрицы

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

  •  для выделения одного элемента предназначен оператор нижнего индекса. Оператор вводится нажатием кнопки Subscript (Нижний индекс) со значком хn„ на панели Matrix (Матрица), либо нажатием клавиши <[> (вторая строка листинга 7.22);
  •  для выделения из матрицы столбца примените оператор выделения столбца нажатием кнопки Matrix Column с изображением угловых скобок <> на панели Matrix, либо сочетанием клавиш <Ctrl>+<6> (третья строка листинга 7.22). Этот оператор называют еще, по аналогии с предыдущим, оператором верхнего индекса;
  •  чтобы выделить из матрицы строку, примените тот же оператор <> к транспонированной матрице (конец листинга 7.22);
  •  для выделения подматрицы используйте встроенную функцию submatrix (A, ir, jr, ic, jc), возвращающую часть матрицы А, находящуюся между строками ir,jr и столбцами ic,jc включительно (листинг 7.23).

Листинг 7.22. Доступ к отдельным элементам, столбцам и строкам матрицы


ПРИМЕЧАНИЕ 1

Выделить из матрицы один столбец или строку можно и с помощью функции submatrix (листинг 7.23, нижняя строка).



ПРИМЕЧАНИЕ 2

Те же операции применимы к матрицам-векторам и матрицам-строкам. Следует помнить только, что размер их составляет Nx1 и 1xN соответственно.


Листинг 7.23. Выделение подматрицы


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

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

  •  augment (А, B, C, . ..) — матрица, сформированная слиянием матриц-аргументов слева направо;
  •  stack (А, B, C, . ..) — матрица, сформированная слиянием матриц-аргументов сверху вниз:

  •  А, B, C, . .. — векторы или матрицы соответствующего размера.

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


Специфические преобразования матриц

Еще две встроенных функции Mathcad позволяют создавать матрицы на основе некоторой имеющейся матрицы (листинг 7.25):

  •  geninv (A) — создание матрицы, обратной (слева) прямоугольной матрице А;
  •  rref (А) — преобразование матрицы или вектора А в ступенчатый вид:

  •  А — матрица, составленная из действительных чисел.


ПРИМЕЧАНИЕ

Размер NxM матрицы А для функции geninv должен быть таким, чтобы M>M.


Листинг 7.25. Создание матриц на основе другой матрицы