Файл: Е. Г. Крушель, А. Э. Панфилов осваиваем mathcad.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 16.03.2024

Просмотров: 97

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
строк матрицы или вектора. Введите идентификаторы числа строк векто- ров Fuel и Temperature и затем овы ли числа дения нет – имеется ошибка ввода. последнего элемента).
За- тем шами <Shift>+<@>), в слот а
ки, укажите «
(crossed). Должно получиться а
X
READPRN "4.txt"
(
)
:=
Fuel
0
〈 〉
1
〈 〉
n s
:=
X
:=
Temperature
X
:=
проверьте, одинак строк в обоих векторах. Если совпа-
Должно получиться так, как показа- но на рис. 2.8.
Этап 3 завершен.
В п
Рис. 2.8. Определение числа строк матрицы.
row Temperature
(
)
m 375
=
row Fuel
(
)
n
375
=
m s
:=
ы олнение этапов 4 и 5. Диапазон изменения индексов векторов
Fuel и Temperature – от 0 до значения, на единицу меньшего, чем число строк в этих векторах (так получается из-за нумерации с нуля). Вводим диапазон
(напоминание: наберите идентификатор индексной переменной, на- пример,
s
, затем знак присваивания «двоеточие», затем начальный номер индекса
0, затем знак диапазона «точка с запятой», затем номер водим шаблон графика (лучше всего клави в
абсциссы вводим идентификатор индексной переменной, в слоты ординаты – значения векторов
(напоминание: для ввода нового слота нужно охватить «старый» слот синим контуром и нажать клавишу «запятая»).
Выве- дется график. Приведите его к надлежащему виду: щелчком левой кноп- ки мыши по его полю вызовите окно форматирования графика, включите линии сет русское» расположение осей зано на рис. 2.9. так, как пок
Рис. 2.9. Вывод графика, показывающего элементы векторов.
Этапы 4 и 5 завершены, решение задачи закончено.
31

5.4. Добавление и удаление сто
Пусть, например, нужно удали зультате чего должна образоваться синий указатель на третьем элемент к
бы угол указателя был справа, вызо и укажите число удаляемых строк (р этого нажмите клавишу Delete окна как
Для многих операций матричной алгебры требуется вырезать из матрицы блоки. Чаще всего эти операции делаются для выделения бло- ков, все элементы которых равны 0. Такие блоки удобно хранить в памя- ти отдельно (просто указать размер блока, зная, что все элементы в нем – нулевые). Матрицы, в которых число нулей существенно больше, чем число значащих чисел, называются разреженными, и именно для них бу- дет достигнуто сокращение объема памяти, если знать структуру распо- ложения нулевых блоков.
Решим задачу. Пусть известно, что матрица размером n
×n имеет структуру Якоби, т. е. такую, как показанная на рис. 2.11. Содержимое всех свободных клеток – нули.
Выделим характерные блоки, показанные на рис. 2.11-б.
1. Столбец, содержащий первые (n-1) строк матрицы – целиком нулевой;
2. Нижняя строка матрицы – заполнена значащими числами;
3. Су выше ой строки в диаг
лбцов и строк
ть третий столбец матрицы A, в ре- матрица размером 3
×3. Установите е первой строки матрицы A та , что- вите окно «Матрицы» (<Ctrl>+<M>) авно 0) и столбцов (равно 1). После
«Матрицы». Должно получиться так, показано на рис. 2.10.
Рис. 2.10. Удаление строк и столбцов матрицы.
5.5. Вырезывание прямоугольных блоков из матрицы
декомпозиция матрицы)
После нажатия опки ОК этот столбец будет удален
Нажмите для удаления ука- занного числа строк и столбцов кн
(
бматрица размером (n-1)
×(n-1), размещенная с единицами эт и правее нулевого столбца – диагональная матрица онали (т. е. единичная матрица).
32

а) б)
Рис. 2.11. Сильно разреженная матрица: а) матрица Якоби; б) характерные блоки матрицы
Представим себе, что в результате решения некоторой инженерной задачи получился ответ в виде матрицы со структурой Якоби, и нужно записать этот результат на диск для использования в дальнейшем. При- свойте элементам матрицы какие-либо значения, например, как показано на рис. 2.12. Удобнее всего ввести ее так: с помощью клавиши <Tab>
очень быстро «нащелкать» нули для всех элементов, а затем исправить нужные на значащие числа. Размерность матрицы в примере 10
×10. Учи- тывая особенности нумерации с нуля, введите максимальное значени индекса строк и столбцов (n := 9) увидет ующей реконст- рукц
ко нижнюю
енты можно следнего элемента последней строки рез запятую): ицы, из дней строк матрицы, соответствующие из- влекаемому блоку; е
Легко ь (рис. 2.11-б и 2.12), что для послед ии такой матрицы достаточно хранить в памяти толь
строку. Остальные элем доопределить вычислениями.
Освоим функцию submatrix( ), позволяющую вырезать из матрицы прямоугольный блок. В нашем при- мере для запоминания всей матрицы нужно вырезать строку, номера эле- ментов которой – от первого до по- матрицы D (рис. 2.13). Аргументы функции (их пять, перечисляются че-
ƒ
идентификатор матр которой производится извлечение блока;
ƒ
номера первой и после
Р с. 2.12. Матрица Якоби и
с числами.
33

ƒ
номера первого и последнего столбцов матрицы, соответствую- щие извлекаемому блоку.
Максимальное значение строк и столбцов (ну- мерация – с нуля!) из которой извлекаются
Начальный и конечный
Идентификатор матрицы, номера столбцов матрицы, соответствующие извле- блоки каемому блоку
Начальный и конечный номера строк матрицы, соответст- вующие извлекаемому блоку ко в ния бл о
еч лев ты и
з и
Введите соответствующие фун трите, правильно ли по- лучилось извлечение (наберите идентиф ат
Декомпозиция матрицы на бло
е звлечения блоков матрицы.
кции и рассмо
Рис. 2.13. Операции ик ор блока и знак равенства).
ки заверш на.
Р
езул ьт а
34

5.6. Запись массивов данных на диск
В рассматриваемом примере информативная часть расчетов содер- жит его использования матрицы D, но получим ее утем реконструкции структуры Якоби.
Запись на диск делается с использованием функции WRITEPRN( ), в качестве аргумента которой указывается имя файла в кавычках. Если запись производится не в текущий каталог, нужно указать полное имя файла (содержащее имя и путь к нему). Имя функции нужно набирать
ПРОПИСНЫМИ буквами.
WRITEPRN(“5.txt”) : = D1
Если выйти в текущий каталог, то мы найдем в нем файл с именем
5.txt, записанный из Mathcad’а в ASCII-кодах.
Запись на диск проведена.
5.7. Соединение (композиция) матриц и векторов
Продолжим решение задачи п. 5.5 – 5.6. – представим себе, что нуж- но реконструировать матрицу Якоби по записи ее последней строки в файле 5.txt. «Забудем» также размерность матрицы (ее тоже нужно будет реконструировать). Этапы решения:
ƒ
Этап 1. Чтение строки матрицы из файла 5.txt.
ƒ
Этап 2. Определение размерности матрицы, подлежащей рекон- струкции.
ƒ
Этап 3. Формирование недостающих блоков (нулевого столбца и диагональной субматрицы).
ƒ
Этап 4. Соединение нулевого столбца и диагональной субмат- рицы, получение верхней части матрицы Якоби.
ƒ
Этап 5. Соединение верхней части матрицы Якоби, полученной на этапе 4, с информативной нижней строкой, считанной из файла на этапе 1.
Выполнение этапов 1 и 2«Чтение с диска и определение размерно-
сти».
Выберем идентификатор матрицы (например, Z) и прочтем в нее информативную строку матрицы Якоби из файла 5.txt. Определим число элементов в этой матрице, зная, что она является строкой. Число столб- цов определяется с помощью функции cols( ) (сокраще от columns
столбцы). Опред екса элементов стро ся в блоке D1. Сохраним его на диске. Далее (п. 5.7) будем имитиро- вать ситуацию последующ п
ние елим также максимальное значение инд ки (на 1 меньше числа столбцов, учитывая нумерацию с нуля).
Должно получиться так, как показано на рис. 2.14.
35


Z
READPRN "5.txt"
(
)
:=
Результат чтения из файла
0 1
2 3
4 5
6 7
8 9
0 1
3 5
6 8
7 9
2 6
3
=
Z
n cols Z
( )
1

:=
n
9
=
ыполнение этапа 3 «Формирование недостающих блоков», см. рис.
декса; за я :=) для вычис- лени а
одим результат для проверки.
Рис. 2.15. Чтение из файла в матрицу и определение размерности. зульт
Число столбцов в строке Z
- максимальное значение индекса элементов строки Z
Рис. 2.14. Чтение из файла в матрицу и определение размерности.
Этапы 1 и 2 завершены.
В
2.11, 2.12.
Вначале сформируем левый столбец, все элементы которого – нулевые.
Индекс последнего элемента – на 1 меньше размерности матрицы, т. е. n-1.
Научимся вводить векторы по уравнениям элементов:
– задаем диапазон изменения ин
– писываем формулу (через оператор присваивани я к ждого элемента;
– выв
Должно получиться так, как показано на рис. 2.15.
Значения, которые принимает индекс элементов вектора j
0 n
1

:=
0
⎛⎜ ⎞⎟
ат
Идентификатор вектора
Идентификатор индекса
(набор индекса – клавишей < [ >)
Ре
V
j
0
:=
0 0
V
0 0
0
⎜ ⎟










=



⎜⎝



⎟⎠
0 0
0 36

Следующий недостающий блок – единичная матри
E
identity n
( )
:=
ца (правая верхняя часть матрицы Якоби, рис. 2.11).
Размерность единичной матрицы – ьше, чем размерность матрицы
Якоби. Воспользуемся встроенной Math- cad-функцией, возвращающей единич- ную матрицу. Аргументом функции яв- ляется размерность этой единичной мат-
в нашем случае n – не путайте с нумерацией индексов!).
Имя функции identity( ). Выберите икатор (например, E) и исвой- начение единичной ицы те матри- цу н экран для проверки. Должно полу- читься так, как показано на рис. 2.16.
Этап 3 завершен.
Всты вым числом стро цы с одинаковым числом столбцов (а число стро
V и единичную матрицу E. Соединение матриц встык (т. е. так, чтобы первая матрица прим
ent( ), аргуме триц
(можно лом строк ему резу на рис даю- щим бке, если ным цветом
Р . 2.16. Генерация единичной
E
1 0
0 0
0 0
0 0
0 0
1 0
0 0
0 0
0 0
0 0
1 0
0 0
0 0
0 0
0 0
1 0
0 0
0 0
0 0
0 0
1 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 1
0 0
0 0
0 0
0 0
0 0
0 0
1
⎛⎜
на 1 мен
0 0 0
рицы (
1 0 0 0
идентиф те ему з
0 1 0
пр матр размерности n
×n. Затем выведи а матрицы.
Выполнение этапов 4 и 5 «Композиция сращивание») блоков с це-
лью получения матрицы Якоби».
азмерностями
При «сращивании» матриц главное – не напутать с р трицы с одинако к (слева направо) можно сращивать ма к (а число столбцов может быть разным). «Сверху вниз» можно, на- оборот, сращивать матри к может не совпадать).
В нашем примере можно срастить нулевой вектор кнула ко второй слева) производится встроенной функцией augm
нтами которой являются идентификаторы сращиваемых ма сращивать 2 и более матрицы с обязательно совпадающим чис
). Введите идентификатор (например, Upper_Jacob) и присвойте льтат сращивания матриц. Должно получиться так, как показано
. 2.17. Там же показано ошибочное соединение матриц с несовпа числом строк. Mathcad в этом случае выведет сообщение об оши установить указатель мыши на часть формулы, показанной крас ис









⎜⎝
⎞⎟









⎟⎠
=
Получена матрица 9 х 9
Получена матрица 9
×9 37

единение матриц встык. у вниз» матрицу Upper_Jacob и введен- оединение выполняется функцией stack( ) ости размерностей (числа столбцов обя-
ведите идентификатор (напр
Соединение матриц «встык» с согласованными размерностями
Попытка соединить матрицы, не согласованные по размерностям. Выведено сообщение об ошибке:
«Число строк и/или столбцов не совпадает»
Рис. 2.17. Со
Осталось соединить «сверх ную из файла строку Z. Такое с также с контролем согласованн
зательно должны совпадать). В
и присвойте ему результат сты матрица Якоби, которую мы очень малом вводе из файла (т элементов матрицы). Результат на рис. 2.18. имер, Jacob) ковки матриц. В результате получится
«собрали» с помощью вычислений при ам хранится только 10 % общего числа должен получиться таким, как показано
Рис. 2.18. Результат композиции матриц.
Выполнение этапов 4 и 5 завершено.
Решение задачи закончено.
38

2>
1   2   3   4   5   6   7   8   9   10   11

§6. Алгебра матриц
Материал этого раздела особенно полезен тем, кто хочет хорошо ос- воить дисциплину «Алгебра и геометрия» и успешно сдать экзамен.
6.1. Транспонирование матр
Для транспонирования матрицы нужно ввести какой-либо иденти- фикатор, затем ввести явившийся слот вве- сти идентификатор
1 7
− 6.8 9.3
иц
оператор присваивания и в по транспонируемой матрицы. Этот идентификатор ока- жется охваченным синим контуром. Не снимая контур, нажмите клавиши
<Ctrl>+<1>. Введется символ транспонирования (рис. 2.19). Просмотри- те результат: строки и столбцы поменяются местами.
Транспонирование изучено.
Исходная матрица.
Число строк
=3,
A
2 5
4 7
5 8
6 9







число столбцов =4

Операция транспонирования
(клавиши +<1>)
C
A
T
:=
Транспонированная матрица.
Число строк
=4,
число столбцов =3
C
2 4
5 6
5 7
8 9
1 7

6.8 9.3

=



⎜⎝
⎞⎟


⎟⎠
=
Рис. 2.19. Транспонирование матрицы.
6.2. Умножение матрицы на скаляр
Согласно аксиомам алгебры матриц умножение на скаляр состоит в том, что на него умножается каждый элемент матрицы. Например, введи- те операцию умножения на скаляр как на параметр (рис. 2.20). Затем вы- ведите идентификатор матрицы-произведения с каким-либо значением параметра. Вы увидите результат умножения.
Умножение на скаляр изучено.
39

Ис
6
ходная матрица-сомножитель
A
5 1
7 7

8 6.8 9
9.3 2 4 5








=
Ввод операции умножения на скаляр D
α
( )
α A

:=
Результат умножения матрицы на скаляр 10
D 10
( )
20 50 10 40 70 70

50 80 68 60 90 93








=
Рис. 2.20. Умножение матрицы на скаляр.
6.3. Операции умножения матриц
Запомните общее простое правило проверки размерностей мат-
риц, при которых умножение возможно.
Подпишите размерности под матрицами и проследите, чтобы внут-
ренние цифры были одинаковыми
Внешние цифры дадут размерность результата (рис. 2.21).
Рис. 2.21. Правило размерностей для умножения матриц.
6.3.1. Умножение матрицы на вектор справа и слева. Согласно правилам матричной алгебры возможно умножение матрицы на вектор
справа. В результате получится вектор, содержа ий столько же строк, скол ение возм щ
ожно только тогда, когда число
точно совпадает с числом элемен- тов вектора (при попытке умножить матрицы, не согласованные по раз- мерности, выведется сообщение об ошибке – такое же, как показано на рис. 2.17). ько исходная матрица. Умнож столбцов матрицы-сомножителя
40

Для умножения матрицы на вектор слева его нужно предварительно транспонировать. Результат умножения – строка с таким же числом эле- ментов, сколько столбцов у исходной матрицы. Умножение слева воз- можно только тогда, когда число элементов вектора точно совпадает с числом строк матрицы-сомножителя. Сделайте упражнение, показанное на рис. 2.22.
Умножение матрицы на вектор изучено.
Умножение матрицы на вектор справа.
Сомножители: матрица А и вектор В.
Размерности согласованы:
число столбцов А = числу элементов В = 4
A
2 5
1 4
7 7

5 8
6.8 6
9 9.3








:=
B
1 1

1 1

⎛⎜


⎜⎝
⎞⎟


⎟⎠
:=
Формула произведения матриц: F
A B

:=
Результат: матрицы на вектор есть вектор F
3

3




произведения


=


5.5

Попытка умножить матрицу на вектор слева.
Несогласованность размерностей: число элементов вектора НЕ равно числу строк матрицы.
F1
B A

:=
B A

Сообщение об ошибке.
T
T
The number of rows and/or column in these array do not match
Умножение слева с согласованными размерностями: G
B
T
A
T

:=
Результат умножения - строка:
G
3

3
− 5.5
(
)
=
Рис. 2.22. Умножение матрицы на вектор справа и слева.
6.3.2. Умножение вектора на вектор (частный случай п. 6.3.1).
Размерности векторов могут не совпадать. Второй вектор-сомножитель должен транспонироваться. Результат умножения – матрица, число ее строк равно числу элементов первого вектора-сомножителя, а число столбцов – числу элементов второго вектора-сомножителя. Сделайте уп- ражнение, пок
множение вектора на вектор изучено.
ное произведение изучено. азанное на рис. 2.23.
У
6.3.3. Скалярное произведение векторов. Операция может быть вы- полнена только с векторами одинаковой размерности. Первый вектор- сомножитель нужно транспонировать. Результат умножения – скаляр.
Важное замечание: Mathcad выводит результат не в форме числа, а в форме матрицы размерности 1
×1. При некоторых вычислениях нужно ука- зывать номер элемента этой «матрицы». Сделайте упражнение по рис. 2.23.
Скаляр
41

Рис. 2.23. Умножение вектора на вект . Скалярное произведение векторов.
.3.4. Умножение матриц совершается аналогично умножению матр
.4. Сложение матриц
Неудачная попытка умножить мат- рицу на скаляр (особенности
Mathcad: скалярное произведение трактуется как матрица, поэтому
Mathcad считает что не соблюдается о размерностей)
Так нужно «обмануть»
Mathcad: указать номер эле- мента «матрицы» - скалярного произведения (индекс вводится скобкой [ ) правил ор
6
ицы на вектор (п. 6.3.1). Важнейшее требование – соблюдение пра-
вила размерностей матриц-сомножителей. При работе со сложными формулами не поленитесь подписать размерности под матрицами, как показано на рис. 2.21: это спасет Вас от многих ошибок.
Упражнение – в разделе 6.6.
Умножение матриц изучено.
6
Сложение матриц может быть выполнено только с матрицами одинаковой размерности. При нашей работе с Mathcad выявилась ошиб- ка, допущенная его авторами: Mathcad считает возможной операцию сложения матрицы со скаляром (прибавляет этот скаляр к каждому эле- менту матрицы). Такая операция в алгебре матриц запрещена.
Упражнение – в разделе 6.6.
Сложение матриц изучено.
42

6.5. Операции с квадратными матрицами
Вначале подготовимся к работе. Образуйте матрицу размером 3
×3:
Она нам понадобится для освоения операций с квадратными матрицами.
6.5.1. Определитель квадратной матрицы.
Для вычисления определителя нужно ввести идентификатор матрицы (сама квадратная мат- рица должна быть определена на листе Mathcad выше). Затем нужно нажать клавишу со значком
(выше клавиши <Ctrl> справа). Идентифика- тор матрицы окружат вертикальные линии. Если нажать клавишу < = >, то выведется значение определителя. Часто бывает удобно присвоить значение определителя некоторой переменной, чтобы использовать ее в дальнейших вычислени- ях. Выполните упражнение, показанное на рис. 2.24.
Вычисление определителя изучено.
6.5.2. Длина вектора. Для вычисления длины вектора (квадратный корень из суммы квадратов всех его элементов) используется та же кла- виша , что и для вычисления определителя матрицы. Сделайте упраж- нение по рис. 2.25.
Определение длины изучено.
жения ко- торо единичная матрица. Обращение матри- цы в е, когда ее определитель не равен нулю о произве- са го на себя. Значок корня вводится
(над клавишей Ctrl справа) видим особенность вывода результата произведения
Рис. 2.24. Определи- тель матрицы.
A
1 7

0.7 3
6 4
9 11 5


Рис. 2.25. Вычисление длины вектора.
6.5.3. Обращение квадратных матриц. Согласно аксиомам алгебры матриц обратной матрицей называется такая, результат умно го в формате 1
×1 й на исходную матрицу есть озможно только в том случа
Проверка: тот же результат должен получиться, если извлечь квадратный корень из скалярног дения вектора мо клавишей < \ >
Мы снова скалярно






:=
determinant
A
:=
determinant
175.7

=
1
⎛ ⎞⎟



⎜⎝
2 3
4
V


⎟⎠
:=
dlina
V
:=
dl
V
ina
5.477
=
T
V

5.477
(
)
=
43

(в п об ошибке). Для обра- щен степень
Упражнение – в раз
Операция обращени
6.6. Решение прим
6.6.1. Решим пример
Постановка задачи
ченный исходя из строго зра для изо
, ра результатов измерения с
×
×


n
m
m
m
m
B
R
Здес сти n
×n, R – квадратная матрица разм фильтры помех, но внешне струк- тура известных фильтров не отве- му л,
-
- им
-
ее
-
- ротивном случае Mathcad выведет сообщение ия матрицы нужно охватить идентификатор обращаемой матрицы синим контуром и нажать клавиши <Shift>+<6> (как для ввода степени).
В слот нужно ввести
-1. деле 6.6.
я матрицы изучена.
еров с действиями алгебры матриц
1, иллюстрирующий все изученные операции.
. Случается, что математический результат, полу- й формальной постановки задачи, не обладает про- использования в инженерной практике. Так про- зработанными для выделения полезного сигнала из помехами. Математический результат был получен
М. Аоки в форме матричного выражения
1 1
(


×
×
+
T
n
n
n
B
A
чностью, нужной шло с формулами
)
A – квадратная матрица размерно ь ерности m
×m, B – неквадратная матрица размерности n×m. На рис.
2.26 показан результат проверки соответствия размерностей.
До работ М. Аоки в инженер- ной практике уже использовались чала выведенному матрично уравнению. М. Аоки предположи что причина не в том, что синтези рованный им фильтр не сходен с из вестным, а в том, что полученная формула имеет другое тождест
венное представление, отвечающ структуре инженерного фильтра.
Для подтверждения этого пред положения было использовано спе циальное матричное тождество.
A
B R
1


B
T

+
(
)
1

A
1

A
1

B

B
T
A
1


B

R
+
(
)
1


B
T

A
1



Замечание: представл дества додумался до полу- чения огромной форм проверяются, поэтому их мо
Рис. 2.26. Проверка размерностей.
n
×
яет интерес – каким же образом автор тож улы (ведь тождества не доказываются, а лишь такой жно только придумать, а не вывести из теорем). Скорее всего, автор руководствовался стремлением согласовать формулу с инженерными интуитивными выводами. Для этого нужно было выделить A
-1
в качестве вычитаемого. Если все величины – скаляры, такое выделение по- лучается элементарно. После этого остается переписать формулу со скалярами в матричную формулу с соблюдением размерностей и получить тождество как новый научный результат.
n n
×
m m
×
m m
× n
)
B
R
B
1 1
(



+
T
A
Должны быть
одинаковыми
Размерность результата
умножения n
× n
Размерности сумми-
руемых матриц
должны совпадать
44

Решение примера. Выполните проверку этого тождества по рис. 2.27.
В ходе проверки закрепите все знания по матричной алгебре, полученные в ходе лабораторной работы. При расчетах с другой матрицей R исполь- зуйте правила размерностей при сложении и умножении матриц.
Сформируйте исходные данные:
13 1 200



R
0 19 1
0.1 0.3 0.9






:=
B
11 0.1 3 7

2 0.5






:=
A
0 0.4 0.5

0





:=
Вычислите
A
B R
1


B
T

+
(
)
1

Должно получиться
1.286

0.8

0.185 0.11






1

Вычислите
A
1

A
1

B

B
T
A
1


B

R
+
(
)

B
T

A
1



Должно получиться
1.286 0.185

0.8


0.11





дные данные, чтобы расчеты
R
13 0
0.1 3
1 19 0.3 9
200

1 0.9 23 1
7

8 19

Вставьте столбец и строку в матрицу R, чтобы получилось:
Внесите исправления в другие озможными.
исхо стали в



⎜⎝
⎞⎟


⎟⎠
:=
ьные примеры. иллюстрирующие аксиомы и теор
Рис. 2.27. Контрол
6.6
и примеры, мы алгебры матриц (по таблице заданий пол
3 и размерностей при сложении и умноже
Таблица заданий для разработки иллюстративных примеров.
.2. Составьте сам е-
). При составлении примеров ис- соблюдайте правила согласования нии матриц. ьзуйте размерности не ниже
Замечание: в строках таблицы использованы одни и те же обозначения (A, B, C), но это не означает, что в примерах должны быть использованы одинаковые матрицы для всех формул (нужно каждый раз переопределять матрицы, чтобы соблюдалось согласование размерностей).
Составленные примеры покажите преподавателю. Постарайтесь за-
45
помнить формулы, приведенные в табл. 1, они многократно Вам понадо- бятся при изучении самых разных дисциплин.
Таблица 1
№ Аксиомы и теоремы теории
Примечания
матриц
1. (A
B)
T
= B
T
A
T
A, B – прямоугольные матрицы со- гласованных размерностей. Для ввода знака транспонирования – клавиши <Ctrl>+<1>.
2. (A
B)
–1
= B
–1
A
–1
A, B – квадратные матрицы, опре- делители которых не равны 0
3. A + (B + C) = (A + B) + C =
= A + B + C
A, B, C – прямоугольные матрицы согласованных размерностей
4. A
(B + C) = AB + AC
--------«»--------
5. A
(BC) = (AB) C = ABC
--------«»--------
6. A
T
A – симметричная матрица A – прямоугольная матрица произ- вольной размерности
7. a
T
b = b
T
a: скалярное произ- ведение переместительно
a, b – векторы одинаковой размер- ности.
6.7. Специальные приемы работы с матрицами
6.7.1. Собственные числа квадратной матрицы. Как известно, собственные (иначе – характеристические) числа
λ
i
, i = 1, … , n, квад- ратной n
×n матрицы A являются корнями уравнения
0
)
det(
=


E
A
λ
,
, i = 1, … , n, E – где
λ – вектор собственных чисел с компонентами λ
i
единичная n
×n матрица, det( ) – опре тель.
В Mathcad имеется
vals( ), возвращающая вектор собственных чисел по рис. 2.28. Обрати- те в дели встроенная функция eigen
. Испытайте эту функцию нимание на небольшие неточности решения уравнения для собствен- ных чисел. Конечно, они настолько малы, что не сказываются на качестве расчетов.
46

Вектор собственных чисел
R
13 0
0.1 1
19 0.3 200

1 0.9 1
7

8
⎛⎜


⎞⎟


матрицы R:
λ
eigenvals R
( )
:=
:=



3 9
23 19

исла (
Собственные ч и два комплексно два действите сопряженны льных х)
λ
22.418 12.798i
+
22.418 12.798i

17.637 10.573






⎜⎝



⎟⎠
=
Проверка на соотв для собстве rify i
етствие уравнению нных чисел:
i
0 row
:=
s R
( )
1
− ve
R
λ
i identity rows R
( )
(
)


:=
Уравнение удовлетворяет с очень м ю (порядка 10
-11
)
3 3.325

10

×
2.981i 10 11

×
+
алой погрешность verify
3.325

10

×
8.


56 10 12

×
11 2.981i 10 11

×

11
⎞⎟









⎜⎝

1.448 10 12

×

=
Рис. 2.28. Собственные числа матрицы.
6.7.2. Характеристические векторы квадратной матрицы. Как известно, квадратная n
×n матрица Aимеет n характеристических векто- ров. Умножение матрицы на вектор приводит к получению нового векто- ра, направление которого в общем случае отличается от направления век- тора-сомножителя. Характеристические векторы составляют исключение из этого правила: умножение матрицы на них приводит к получению век- торов, совпадающих с ними по направлению, т. е. характеристические векторы у
i
i
i
v
v
A

=

λ
, довлетворяют уравнению:
i = 1, … , n,
λ
i
i-е собственное число (см. п. 6.7.1). В Mathcad имеется встроенная функция
eigenvecs( ), возвращающая матрицу, каждый столбец которой является характеристическим вектором матрицы, указанной в качестве аргумента функции eigenvecs( ). Характеристические векторы выводятся нормиро- ванными, т. е. имеющими единичную длину (рис. 2.29).
47

H
0 0.9 1
0.5






:=
λ
eigenvals H
( )
:=
z eigenvecs H
( )
:=
z
0.807 0.59

0.63 0.776






=
v1
z
0
〈 〉
:=
v2
z
1
〈 〉
:=
v1 1
=
v2 1
=
Для вывода векторов на график задайте индекс размерностей:
j
0 1
:=
– квадратная матрица, характеристические векторы которой нужно найти
– собственные числа матрицы H
– матрица, столбцы которой – характеристические векторы
– значения элементов векторов
– каждому вектору можно присвоить от- дельный идентификатор (вырезывание столбца матрицы – клавишами +<^>))
– характеристические векторы нормированны: их длина равна 1 (для определения длины нажмите клавишу < | > )
1.5 1
0.25 0.5 1.25 2
1.5 0.75 0.75
λ
0
v1
j

График иллюстрирует совпадение теристических
H v1

(
)
j
λ
1
v2
j

H v2

(
)
j j
векторов с результатами их поворота матрицей H
харак
Рис. 2.29. Характеристические векторы.
48

49
Научимся выводить векторы на график. Нужно выполнить сле- дующие операции:
ƒ
Задать диапазон изм в вектора (в при- мере на рис. 2.29 вектора двумерны, соответственно индекс изменяется от 0 до 1).
ƒ
Вывести шаблон графика (<Shift>+<2>) и на оси абсцисс указать имя индекса (в примере j).
ƒ
Указать на оси орди та вектора с индек- сом таким, как на оси абсци
В результате выведется
Сделайте упражнение по рис. 2.29 и убедитесь, что действительно поворот характеристическо лучению вектора, накладывающегос
Изучение собственных
закон- чено.
6.7.3. Диагонализация
о, квадрат- ную матрицу можно приве гона- ли располагаются собственные числа этой матрицы. Приведение к диаго- нальной форме бывает полезным для того, чтобы упростить операции умножения (Вы знаете, что умножение на диагональную матрицу не вы- зывает затруднений).
Рассмотрим пример. Пусть задана матрица R размерности 4
×4 и требуется возвести ее в 100-ю степень. Если мы будем использовать длинную операцию умножения R‚R…‚R, используя правила умножения матриц, то, скорее всего, в среде Mathcad никогда не досчитаем до ре- зультата. Однако Mathcad выводит результат почти мгновенно. Исполь- зуется алгоритм, показанный на рис. 2.30. Выполните показанные там вычисления. енения индексов элементо нат идентификатор элемен сс (в примере j). вектор. го вектора матрицей приводит к по я на сам характеристический вектор.
чисел и характеристических векторов
квадратных матриц. Как известн сти к диагональной форме, причем в диа

6. Используем обратное преобразование из диагональной матрицы в R
Рис. 2.30. Диагонализация квадратных матриц.
Убедитесь, что матрицы R и R
n
имеют одинаковый набор характери- стических векторов при любом показателе степени n. Объясните, почему.
Изучение процесса диагонализации квадратных матриц закончено.
6.7.4. Свойства симметричных матриц. Симметричные матрицы, т. е. такие, в которых совпадают элементы, симметрично расположенные относительно главной диагонали, имеют много интересных свойств, час- то используемых на практике. Выполните упражнение, показанное на рис. 2.31, и постарайтесь запомнить свойства симметричных матриц. ьные грешности порядка 10
-15
)
Пусть задана квадратная матрица:
Требуется вычислить R
n
, n = 100
АЛГОРИТМ:
1. Вычисляем вектор собственных чисел:
λ := eigenvals(R)
2. Вычисляем матрицу характеристических векторов:
T
:= eigenvecs(R)
3. Приводим матрицу R к диагональной форме (в диагонали получатся собст- венные числа):
Λ := T
-1
⋅R⋅T
(имеются небольшие ычислител в
по
4. Вводим степень, в которую нужно возвести матрицу R: n := 100 5. Рассчитываем диагональную матрицу, в диагонали которой – степени собст- венных чисел:
Λn := diag( λ
n
) n
:
Rn := T
⋅Λn⋅T
-1 7. Выводим результат на экран: Rn =
8. Для проверки вычисляем непосредственно: R
n
=
R
0.1 3
0.3 9
13 1 200 0
19

1 7

1
⎛⎜
⎞⎟


⎜⎝
0.9 23 8
19


⎟⎠
:=
λ
17.637 10.573

22.418 12.798i
+
⎛⎜
⎞⎟


=

⎜⎝


22.418 12.798i


10.573

0

0i
+
0

0i

Λ
0

0i

0

0i
+
0

22.418 12.798i
+
0i

0 0

0i
+
0 0
⎛⎜
⎞⎟




22.418 12.798i

0 0
17.637




=
50

Рис. 2.31. Свойства симметричных матриц.
Изучение сво
на другие. Коэффициентами при
йств симметричных матриц закончено
6.7.5. Квадратичные формы. Как известно, квадратичной формой называется скаляр, структура которого показана на рис. 2.32.
Если развернуть этот скаляр в виде сумм и произведений, то мы увидим, что в формулу войдут в качестве слагаемых квадраты каждого элемента вектора xи перекрестные про- изведения одних элементов
λ
10.195 16.732 2.378

22.549

⎛⎜


⎜⎝

A
1 3
4 7
3 11 2
5

4 2
19

8

7 5

8

9








:=



⎟⎠
=
⎜⎝
⎟⎠
A
A
T

0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
⎛⎜


⎜⎝
⎞⎟


⎟⎠
=
T
0.569 0.687 1.033 10 3

×
0.452 0.164

0.624 0.183 0.741

0.768

0.372 0.333

0.401 0.245 0.01

0.925

0.29











=
Введем симметричную матрицу А:
ИЛЛЮСТРАЦИИ свойств симметричных матриц:
1. Матрица и транспонированная к ней равны:
2. Собственные числа симметричной матрицы – ВЕЩЕСТВЕННЫ:
λ := eigenvals(R)
3. Характеристические векторы симметричной матрицы ВЕЩЕСТВЕННЫ:
T
:= eigenvecs(R)
4. Транспонированная матрица, составленная из характеристических векторов, равна обратной матрице характеристических векторов:
5. Диагонализация симметричной матрицы проводится по формуле:
DiagA
:=
T
T
⋅A⋅T


T
T
T
1


0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0








=




Diag_A
10.195 0
0

0 0
16.732 0
0

0

0 2.378

0

0 0

0

22.549









=




Симметричная матрица
Т
x
T
Q
⋅ x

1
×n n×n n×1
Размерность результата
1
×1 = скаляр ранспонированный вектор-строка
Вектор
Р
Структура квадратичной формы. ис. 2.32.
51
этих слагаемых будут элементы симметричной матрицы, которая, как Вы знаете, называется ядром квадратичной формы.
Проиллюстрируем графически свойства квадратичной формы (Вы неоднократно встретите квадратичные формы в самых различных учеб- ных дисциплинах).
Вначале научимся выполнять матричные преобразования в режиме
live symbolic(см. Часть 4). Символьные преобразования с матрицами можно делать при не слишком высокой размерности (иначе формулы по- лучались бы совершенно необозримыми). Для наших целей достаточно размерности ядра квадратичной формы 2
×2 (соответственно вектор xбу- дет иметь 2 элемента). Набираем по рис. 2.33:
Рис. 2.33. Запись квадратичной
В зависимости от состава собственн функции формы в скалярах. ых чисел матрицы Q значение может оказаться таким, что: ектора x значение функции по-
ичная форма называется поло-
исла ее ядра положительны (и, ичная матрица).
ƒ
При любых значениях элементов в
ложительно. Соответствующая квадрат
жительно определенной. Собственные ч конечно, действительны, т. к. Q – симметр
Набор +<1>
(транспонирование)
x1
x2
⎛⎜
⎜⎝
⎞⎟
⎟⎠
T
q11
q21
q12
q22
⎛⎜
⎜⎝
⎞⎟
⎟⎠

x1
x2
⎛⎜
⎜⎝
⎞⎟
⎟⎠


Вызов шаблонов матриц и векторов +<М>
Набор ++<точка>
(символический знак присваивания)
x1
x2
⎛⎜
⎜⎝
⎞⎟
⎟⎠
T
q11
q21
q12
q22
⎛⎜
⎜⎝
⎞⎟
⎟⎠

x1
x2
⎛⎜
⎜⎝
⎞⎟
⎟⎠

x1 q11

x2 q21

+
(
)
x1

x1 q12

x2 q22

+
(
)
x

+

2
x 1 11
x 1 x2

q 21

+
+
2
x 2 x1

q 12

x 2 2
q q

2

+

x 1 q 11

x 2 q 21

+
(
)
x1

x 1 q 12

x 2 q 22

+
(
)
x 2

+
simplify

В результате получится:
Скопируйте результат и упростите:
Получим формулу квадратичной формы в скалярах:
х
2
·q + х ·х ·q + х ·х ·q
21
+ х
2 2
·q
22 1
11 1
2 12 2 1
f x
(
)
2 2
1 x2
,
q 11
,
q 12
,
q 22
,
x 1 q 11

2 x1

x2

q 12

+
x 2 q 22

+
:=
52

ƒ
При любых значениях элементов вектора x значение функции от-
рицательно. Соответствующая квадратичная форма называется отрица-
тел
х значениях элементов вектора x значение функции
поло
ьно определенной. Собственные числа ее ядра отрицательны (и, ко- нечно, действительны).
ƒ
При некоторы
жительно, а при других – отрицательно.
Рассмотрим пример для всех трех случаев и проиллюстрируем его графиками. Сделайте вычисления и построения, показанные на рис. 2.34.
Введем 3 матрицы:
Значения элементов:
Q1 5
3 3
9






:=
q11 5 q12 3
,
q22 9
,
Q2
Q1

:=
q11 5
− q12 3

,
q22 9

,
Q3 2

3 3
1






:=
q11 2
− q12 3
,
q22 1
,
Определим состав собственных чисел:
eigenvals Q1
(
)
3.394 10.606






=
- все положительны eigenvals Q2
(
)
3.394

10.606







=
- все отрицательны eigenvals Q3
(
)
3.854

2.854






=
- одно отрицательное, другое положительное
Квадратичная форма в скалярах:
f x1 x2
,
q11
,
q12
,
q22
,
(
)
x1 2
q11

2 x1

x2

q12

+
x2 2
q22

+
:=
Построим график функции f(...) на интервале изменения x1
и x2 от -0.15 до +0.15
Число точек на каждой оси графика - по 20.
Индексы точек: i
0 20
:=
j
0 20
:=
Координаты аргументов соответствующие индексам:
x1
i
0.15

0.015 i

+
:=
x2
j
0.15

0.015 j

+
:=
Массивы для вывода трехмерны графиков:
F1
i j
,
f x1
i х x2
j
,
5
, 3
, 9
,




:=
- для ядра квадратичной формы Q1
F2
i j
,
f x1
i x2
j
,
5

,
3

,
9

,




:=
- для ядра квадратичной формы Q2
F3
i j
,
f x1 x2
,
2

,
3
, 1
,
i j




:=
- для ядра квадратичной формы Q3
Рис. 2.34. Подготовка к выводу графических образов квадратичных форм.
Теперь вызовите шаблон трехмерного графика (<Ctrl>+<2>) и в появившийся слот впишите имя массива F1. Затем выведите такие же графики и для других массивов. Получится так, как на рис. 2.35.
53

Изучение квадратичных форм закончено.
Рис. 2.35. Графические образы различных квадратичных форм.
6.8. Ранг матрицы
Как известно, рангом прямоугольной матрицы называется наиболь- ший порядокнеравного нулю определителя (из всех возможных вырезок определителей из данной матрицы. Для вычисления ранга используется функция rank (идентификатор_матрицы)
Рассмотрите пример вычисления ранга матриц:
F1 а) Положительно опреде- ленная квадратичная форма
– график «дном вниз»
F2 б) Отрицательно опре- деленная квадратичная форма – график «дном вверх»
F3 в) Неопределенная квадратич- ная форма – график в форме
… (догадайтесь сами, как на- зывается фигура)
R
0 0
0 0
0 1
1 0
0 0






:=
,
R1 0
0 0
4 1
2 0
0 0
1 0
3 0
0 0








:=
1>1>1>
1   2   3   4   5   6   7   8   9   10   11