Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа 6_управленцы.doc
Скачиваний:
6
Добавлен:
09.11.2019
Размер:
151.04 Кб
Скачать

Создание диагональных матриц

В Mathcad легко создать матрицы, имеющие определенное простое строение, с помощью одной из встроенных функций.

identity (N) — единичная матрица размера NxN;

diag(v) — диагональная матрица, на диагонали которой находятся элементы вектора v:

N — целое число;

v — вектор.

Пример 2.

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

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

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

  • для выделения одного элемента предназначен оператор нижнего индекса. Оператор вводится нажатием кнопки Subscript (Нижний индекс) со значком xn на панели Matrix (Матрица), либо нажатием клавиши <[> (вторая строка примера 3);

  • для выделения из матрицы столбца примените оператор выделения столбца нажатием кнопки Matrix Column с изображением угловых скобок <> на панели Matrix, либо сочетанием клавиш <Ctrl>+<6> (третья строка примера 3). Этот оператор называют еще, по аналогии с предыдущим, оператором верхнего индекса;

  • чтобы выделить из матрицы строку, примените тот же оператор <> к транспонированной матрице (конец примера 3);

  • для выделения подматрицы используйте встроенную функцию submatrix (A, ir, jr, ic, jc), возвращающую часть матрицы А, находящуюся между строками ir,jr и столбцами ic,jc включительно (пример 4).

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

ПРИМЕЧАНИЕ 1

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

ПРИМЕЧАНИЕ 2

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

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

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

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

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

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

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

Пример 5. Примеры слияния матриц

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

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

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

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

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

ПРИМЕЧАНИЕ

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

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

Часто бывает нужно переставить элементы матрицы или вектора, расположив их в определенной строке или столбце в порядке возрастания или убывания. Для этого имеются несколько встроенных функций, которые позволяют гибко управлять сортировкой матриц:

  • sort(v) — сортировка элементов вектора в порядке возрастания (пример 7, верхняя строка);

  • reverse (v) — перестановка элементов вектора в обратном порядке (пример 7, нижняя строка);

  • csort (A, i) — сортировка строк матрицы выстраиванием элементов 1-го столбца в порядке возрастания (пример 8, верхняя строка);

  • rsort (A, i) — сортировка столбцов матрицы выстраиванием элементов i-й строки в порядке возрастания (пример 9, нижняя строка):

v — вектор;

А — матрица;

i — индекс строки или столбца.

ПРИМЕЧАНИЕ

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

Пример 7. Сортировка вектора

Пример 8. Сортировка матриц по строке и столбцу

Для получения сведений о характеристиках матриц или векторов предусмотрены следующие встроенные функции (пример 9 и 10 соответственно):

  • rows (A) — число строк;

  • cols (А) — число столбцов;

  • length (v) — число элементов вектора;

  • last (v) — индекс последнего элемента вектора

  • max(A) Самый большой элемент в массиве A. Если A имеет комплексные элементы, возвращает наибольшую вещественную часть плюс i, умноженную на наибольшую мнимую часть.

  • min(A) Самый маленький элемент в массиве A. Если A имеет комплексные элементы, возвращает наименьшую вещественную часть плюс i, умноженную на наименьшую мнимую часть.:

А — матрица или вектор;

v — вектор.

ПРИМЕЧАНИЕ

Если матричные индексы нумеруются с 1, т. е. системная константа ORIGIN равна не о (по умолчанию), а 1, то число элементов вектора и индекс его последнего элемента совпадают.

Пример 9. Размер матриц

Пример 10. Размер векторов