Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

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




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

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

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

· для выделения одного элемента предназначен оператор нижнего индекса. Оператор вводится нажатием кнопки 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) — индекс последнего элемента вектора;

      • А — матрица или вектор;
      • 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);

      • v — вектор;
      • А — матрица;
      • i — индекс строки или столбца.

Если элементы матриц или векторов комплексные, то сортировка ведется по действительной части, а мнимая часть игнорируется.

Листинг 9.27. Сортировка векторов

Листинг 9.28. Сортировка матриц по столбцу

 

Листинг 9.29. Сортировка матриц по строке (матрица А из листинга 9.28)

 

Ранг матрицы

Рангом (rank) матрицы называют наибольшее натуральное число k, для которого существует не равный нулю определитель k-ro порядка подматрицы, составленной из любого пересечения k столбцов и k строк матрицы.

Для вычисления ранга в Mathcad предназначена функция rank.

· rank (А) — ранг матрицы;

      • А — матрица.

Листинг 9.32. Ранг матрицы

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...