8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 32 33 34 35 36 37 38 ... 177

матрицу приходится использовать. С помощью Mathcad можно предельно упростить эту очень трудоемкую и порой весьма сложную задачу.

Оператор нахождения обратной матрицы (Inverse) можно ввести с помощью специальной кнопки панели Matrix (Матричные). Однако можно обойтись и без обращения к рабочей панели: достаточно просто выделить матрицу и возвести ее в степень -1 абсолютно аналогично числам илн выражениям.

Находить обратную матрицу можно как для матриц с ал сметами-числам и, так и для матриц, элементы которых определены символьно.

Пример 3.24. Вычисление обратной матрицы

(-2.1 \2 -ОЛЛ 1.867 -1.067 02 -0.1

(2 3 4

-1 /

5 6 7

=

,8 9 0J

simplify

0.2 -0.1 J < *in(a)

соя (а)" -сов(а) «in(ct),

Обратите внимание, оператор simplify корректно упростил элементы обратной матрицы. Однако не следует забывать о том, что символьный процессор Mathcad может правильно преобразовать лишь простейшие тригонометрические выражения.

Для нахождения матрицы, обратной A, Mathcad использует численный метод, в основе которого лежит решение систем линейных уравнений. Действительно, чтобы найти обрапгую матрицу, необходимо, по сути, решить матричное уравнение вида АХ-Е. Для вычисления Х-A"1 Mathcad тюстедоватсльно ищет корни систем уравнений А-Х,-Е, (i - 1.2...N - размерность матрицы), где Е, - t-Й столбец единичной матрицы или матрицы перестановки (если таковая требуется). Вектор решений X каждой системы есть не что иное, как i-й столбец обратной матрицы. Объединяясь, они формируют конечный результат. Обратите внимание, чтобы найти столбцы обратной матрицы, нужно решить одну и ту же систему уравнений с различными векторами правых частей. Для упрощения этой процедуры проводится rLU-разложение, поскольку алгоритм, используемый в этом случае, затрачивает на поиск решения меньшее число шагов, чем метод Гаусса. В основе его работы лежат следующие операции.

1.После того как проведено LL-разложснис, исходную систему уравнений представляем как LUXj-E,.

2.Полагая, что LX.-Yt, находим решения Y, нижних треугольных систем LY-E, методом прямой подстановки

3.Методом обратной подстановки ищем интересующие нас решения X, верхних треугольных систем UX-Y,.

4.Объединяем полученные вектора X, в конечную матрицу А*.

Помимо описанного выше способа найти обратную матрицу в Mathcad можно, задействовав встреченную функцию geninv(M). Для матриц, определитель которых мало отличен от нуля, алгоритм, использующий LU-разложсние, может и не сойтись С помощью же функции geninv(M) можно получить матрицу, обратную любой почти сингулярной матрице. Правда, точность таких решений оставляет желать лучшего. В остальных случаях использование функции geninv(M) и оператора Inverse панели Matrix абсолютно идентично.


3.2.10. Сумма элементов вектора

В некоторых случаях 1гриходится находить сумму элементов вектора. Для этого в Mathcad существует специальный оператор Vector Sum (Сумма вектора), который расположен на панели Matrix (Матричные). Также его можно ввести сочетанием клавиш CtrM.

Иногда возникает необходимость просуммировать элементы, стоящие на главной диагонали квадратной матрицы. Такая сумма называется следом (trace) матрицы. Для ее вычисления в Mathcad существует специальная функция tr(M}, где И - матрица.

Пример 3.25. Сумма элементов вектора и след матрицы

т(f \ з sYi

4

12

4 5 6

V5 6 1)

= 13

3.2.11. Возведение матрицы в степень и матричные уравнения

Система Mathcad позволяет проводить операции возведения матрицы в степень. Если матрица квадратная, ее можно возвести в степень п, где п — любое целое число (или 0).

При этом:

□если n-Q, то (по аналогии с традиционной алгеброА) М*-Е, где Е — единичная матрица;

□если п-1, то М-М (матрица, возведенная в первую степень, равна сама себе);

□если u-N, rfleN - любое натуральное числи, равное или большее 2, то степень матрицы определяется как произведение соответствующего числа матриц в первой степени. Подобное произведение возможно, поскольку при перемножении две квадратные матрицы равной размерности дают третью с той же размерностью;

□если п--1, то М" — это матрица, обратная данной;

□если n-R, где R — любое целое отрицательное число, меньшее либо равное -2, то аналогично возведению в положительную степень, М* определяется как произведение нужного числа обратных матриц.

Задается степень матрицы аналогично случаям с числами или выражениями: либо с помощью кнопки Raise to Power (Возвести в степень)рабочей панели Calculator (Калькулятор), либо сочетанием клавиш Shift-Hi (предварительно матрицу следует выделить).

Пример 3.26. Возведение матрицы в степень

0 2 0

0 0 3;

г1 0 0 0 16 о 0 0 ilj

,-5

1 4 J\ 6 7 8

,5 7 S;

Большое значение в линейной алгебре н, особенно, теории оптимизации имеют так называемые матричные уравнения. Решить их можно очень просто с пом о шью блока Given-find, Подробно особенности использования данного блока описываются в гл. 8.

{-71.222 24.889 17 11.202 -54.695 49.778 37.905 30.49 -54.222У


Пример 3.27. Найти матрицу X, удовлетворяющую условию Хг-Х=М, где М — некоторая квадратная матрица

Задаем матрицу М:

( 30

36

42

М

66

81

96

О 02

126

150;

Укалываем начальное приближение для используемого Mathcad численного алгоритма:

X:» 0.001 М

Укалываем нид уравнения в блике Givco-furd И Присваиваем матрицу с решением переменной R:

Given -Х-М R :*t3nd(X)

Проверяем решение на верность:

г -2.106

-2.626

-114$

f 30

36

42 1

-4355

-4.22

-6.084

R2-R =

66

81

96

ч-5.б04

-7.814

-9.023J

ч 102

126

150,

Аналогично численному решению простых уравнений, решение матричных уравнений зависит от величины параметра T0L, атакже начального приближения. При поиске корней матричных уравнений система использует те же алгоритмы, что и для решения систем нелинейных уравнений. Символьно решать матричные уравнения Mathcad не может.

3.2.12. Векторизация матриц

Самым оригинальным и интересным оператором матричных преобразований является оператор векторизации (Vectorize) панели Matrix (Матричные). Этот оператор позволяет производить некоторые преобразования над каждым элементом матрицы в отдельности. Задачи подобного рода возникают очень часто, и в общем случае для их решения приходится задавать циклы илн даже писать программы. Оператор векторизации помогает справиться со многими такими задачами гораздо проще.

Пример 3.2В. Произведение элементов двух матриц

Пусть стоит следующая задача: есть дм соразмерные матрицы М и N. Следует задать матрицу Р, алименты которой образованы произведениями соответствующих элементов матриц М it N.

Определяем исходные матрицы:

М

(2 3 3

3 5 6 \1 8 9)

N.

ГЗ 2 6 7 5 ,7 В 9,



0 ... 32 33 34 35 36 37 38 ... 177