Математический редактор MathCAD
Возведение матрицы в степень
9.1.10. Возведение матрицы в степеньК квадратным матрицам можно формально применять операцию возведения в степень n. Для этого п должно быть целым числом. Результат данной операции приведен в табл. 9.1. Ввести оператор возведения матрицы м в степень n можно точно так же, как и для скалярной величины: нажав кнопку Raise to Power (Возвести в степень) на панели Calculator (Калькулятор) или нажав клавишу <А>. После появления местозаполнителя в него следует ввести значение степени n.
Таблица 9.1. Результаты возведения матрицы в степень
| n |
Mn |
| 0 |
единичная матрица размерности матрицы M |
| 1 |
сама матрица M |
| -1 |
M-1 - матрица, обратная м |
| 2,3,... |
MM, (MM)M, ... |
| -2, -3, ... |
M-1 M-1, (M-1 M-1)M-1, ... |
Векторизация массивов
9.1.11. Векторизация массивовВекторная алгебра Mathcad включает несколько необычный оператор, который называется оператором векторизации (vectorize operator). Этот оператор предназначен, как правило, для работы с массивами. Он позволяет провести однотипную операцию над всеми элементами массива (т. е. матрицы или вектора), упрощая тем самым программирование циклов. Например, иногда требуется умножить каждый элемент одного вектора на соответствующий элемент другого вектора. Непосредственно такой операции в Mathcad нет, но ее легко осуществить с помощью векторизации (листинг 9.16). Для этого:
Символьные операции с матрицами
9.1.12. Символьные операции с матрицамиВсе матричные и векторные операторы, о которых шла речь выше, допустимо использовать в символьных вычислениях. Мощь символьных операций заключается в возможности проводить их не только над конкретными числами, но и над переменными. Несколько примеров приведены в листинге 9.18.
Транспортирование
9.1.1. ТранспортированиеТранспортированием называют операцию, переводящую матрицу размерности MXN в матрицу размерности NXM, делая столбцы исходной матрицы строками, а строки — столбцами. Пример приведен в листинге 9.1. Ввод символа транспонирования (transpose) осуществляется с помощью панели инструментов Matrix (Матрица) или нажатием клавиш
Сложение
9.1.2. СложениеВ Mathcad можно как складывать матрицы, так и вычитать их друг из друга. Для этих операторов применяются символы <+> или <—>, соответственно. Матрицы должны иметь одинаковую размерность, иначе будет выдано сообщение об ошибке. Каждый элемент суммы двух матриц равен сумме соответствующих элементов матриц-слагаемых (листинг 9.2).
Умножение
9.1.3. УмножениеПри умножении следует помнить, что матрицу размерности MXN допустимо умножать только на матрицу размерности NXP (р может быть любым). В результате получается матрица размерности мхр.
Чтобы ввести символ умножения, нужно нажать клавишу со звездочкой <*> или воспользоваться панелью инструментов Matrix (Матрица), нажав на ней кнопку Dot Product (Умножение) (рис. 9.1). Умножение матриц обозначается по умолчанию точкой, как показано в листинге 9.5. Символ умножения матриц можно выбирать точно так же, как и в скалярных выражениях (см. разд. "Управление отображением некоторых операторов" гл. 2).
Определитель квадратной матрицы
9.1.4. Определитель квадратной матрицыОпределитель (Determinant) матрицы обозначается стандартным математиче ским символом. Чтобы ввести оператор нахождения определителя матрицы можно нажать кнопку Determinant (Определитель) на панели инструментов Matrix (Матрица) (рис. 9.2) или набрать на клавиатуре <|> (нажав клавиши
Модуль вектора
9.1.5. Модуль вектораМодуль вектора (vector magnitude) обозначается тем же символом, что и определитель матрицы. По определению, модуль вектора равен квадратному корню из суммы квадратов его элементов (листинг 9.9).
Скалярное произведение векторов
9.1.6. Скалярное произведение векторовСкалярное произведение векторов (vector inner product) определяется как скаляр, равный сумме попарных произведений соответствующих элементов.
Векторы должны иметь одинаковую размерность, скалярное произведение имеет ту же размерность. Скалярное произведение двух векторов u и v равно uv=|u||v|cosQ, где Q — угол между векторами. Если векторы ортогональны, их скалярное произведение равно нулю. Обозначается скалярное произведение тем же символом умножения (листинг 9.10). Для обозначения скалярного произведения пользователь также может выбирать представление оператора умножения.
Никогда не применяйте для обозначения скалярного произведения символ х, который является общеупотребительным символом векторного произведения (см. разд. 9.1.7).
Векторное произведение
9.1.7. Векторное произведениеВекторное произведение (cross product) двух векторов u и v с углом Q между ними равно вектору с модулем |u||v|sinQ, направленным перпендикулярно плоскости векторов и и v. Обозначают векторное произведение символом х, который можно ввести нажатием кнопки Cross Product (Векторное произведение) в панели Matrix (Матрица) или сочетанием клавиш
Сумма элементов вектора и след матрицы
9.1.8. Сумма элементов вектора и след матрицыИногда бывает нужно вычислить сумму всех элементов вектора. Для этого существует вспомогательный оператор (листинг 9.13, первая строка), задаваемый кнопкой Vector Sum (Сумма вектора) на панели Matrix (Матрица) или сочетанием клавиш
На том же листинге 9.13 (снизу) показано применение операции суммирования диагональных элементов квадратной матрицы. Эту сумму называют следом (trace) матрицы. Данная операция организована в виде встроенной функции tr:
Обратная матрица
9.1.9. Обратная матрицаПоиск обратной матрицы возможен, если матрица квадратная и ее определитель не равен нулю (листинг 9.14). Произведение исходной матрицы на обратную по определению является единичной матрицей. Для ввода оператора поиска обратной матрицы нажмите кнопку Inverse (Обратная матрица) на панели инструментов Matrix (Матрица).
Простейшие операции с матрицами
9.1. Простейшие операции с матрицамиПростейшие операции матричной алгебры реализованы в Mathcad в виде операторов. Написание операторов по смыслу максимально приближено к их математическому действию. Каждый оператор выражается соответствующим символом Рассмотрим матричные и векторные операции Mathcad 11. Векторы являются частным случаем матриц размерности NXI, поэтому для них справедливы все те операции, что и для матриц, если ограничения особо не оговорены (например некоторые операции применимы только к квадратным матрицам NXN). Какие-то действия допустимы только для векторов (например скалярное произведение), а какие-то, несмотря на одинаковое написание, по-разному действуют на векторы и матрицы.
Непосредственное проведение векторных операций над строками, т е матрицами 1XN, невозможно, для того чтобы превратить строку в вектор, ее нужно предварительно транспонировать
Функции создания матриц
9.2.1. Функции создания матрицСамым наглядным способом создания матрицы или вектора является применение первой кнопки панели инструментов Matrix (Матрицы) (см. разд. "Массивы" гл. 4). Однако в большинстве случаев, в частности при программировании сложных проектов, удобнее бывает создавать массивы с помощью встроенных функций.
Слияние и разбиение матриц
9.2.2. Слияние и разбиение матрицИз матрицы или вектора можно выделить либо подматрицу, либо вектор-столбец, либо отдельный элемент. И обратно, можно "склеить" несколько матриц в одну.
Вывод размера матриц
9.2.3. Вывод размера матрицДля получения сведений о характеристиках матриц или векторов предусмотрены следующие встроенные функции (листинг 9.26):
Сортировка матриц
9.2.4. Сортировка матрицЧасто бывает нужно переставить элементы матрицы или вектора, расположив их в определенной строке или столбце в порядке возрастания или убывания. Для этого имеются несколько встроенных функций, которые позволяют гибко управлять сортировкой матриц:
Норма квадратной матрицы
9.2.5. Норма квадратной матрицыВ линейной алгебре используются различные матричные нормы (norm), которые ставят в соответствие матрице некоторую скалярную числовую характеристику. Норма матрицы отражает порядок величины матричных элементов. В разных специфических задачах линейной алгебры применяются различные виды норм. Mathcad имеет четыре встроенные функции для расчета разных норм квадратных матриц:
В большинстве задач неважно, какую норму использовать. Как видно, в обычных случаях разные нормы дают примерно одинаковые значения, хорошо отражая порядок величины матричных элементов. Определение остальных норм заинтересованный метатель отыщет в справочниках по линейной алгебре или в справочной системе Mathcad (раздел Mathcad Resources).
Число обусловленности квадратной матрицы
9.2.6. Число обусловленности квадратной матрицыЕще одной важной характеристикой матрицы является ее число обусловленности (condition питэег). Число обусловленности является мерой чувствительности систелы линейных уравнений Ах=b, определяемой матрицей А, к погрешностям задания вектора b правых частей уравнений. Чем больше число обусловленности, тем сильнее это воздействие и тем более неустойчив процесс нахождения решения. Число обусловленности связано с нормой матрицы и вычисляется по-разному для каждой из норм;
Как нетрудно понять, матрицы А и в из предыдущего листинга 9.30 обладают одинаковыми числами обусловленности, т, к. В=100А, и, следовательно, обе матрицы определяют одну и ту же систему уравнений.
Ранг матрицы
9.2.7. Ранг матрицыРангом (rank) матрицы называют наибольшее натуральное число k, для которого существует не равный нулю определитель k-ro порядка подматрицы, составленной из любого пересечения k столбцов и k строк матрицы.
Для вычисления ранга в Mathcad предназначена функция rank.
Матричные функции
9.2. Матричные функцииПеречислим основные встроенные функции, предназначенные для облегчения работы с векторами и матрицами. Они нужны для создания матриц, слияния и выделения части матриц, получения основных свойств матриц и т.п.
Системы линейных алгебраических уравнений
9.3. Системы линейных алгебраических уравненийЦентральным вопросом вычислительной линейной алгебры является решение систем линейных алгебраических уравнений (СЛАУ), т. е. систем уравнений вида
аi1X1+аi2х2+. . .+ainхn=bi (1)
В матричной форме СЛАУ записывается в эквивалентном виде:
Ах = b, (2)
где А — матрица коэффициентов СЛАУ размерности NXN, х — вектор неизвестных, b— вектор правых частей уравнений.
К системам линейных уравнений сводится множество, если не сказать большинство, задач вычислительной математики. Один из таких примеров приведен в разд. "Разностные схемы для ОДУ" гл. 12.
СЛАУ имеет единственное решение, если матрица А является невырожденной, или, по-другому, несингулярной, т. е. ее определитель не равен нулю. С вычислительной точки зрения, решение СЛАУ не представляет трудностей, если матрица А не очень велика. С большой матрицей проблем также не возникнет, если она не очень плохо обусловлена. В Mathcad СЛАУ можно решить как в более наглядной форме (1), так и в более удобной для записи форме (2). Для первого способа следует использовать вычислительный блок Given/Find (см. гл. 8), а для второго — встроенную функцию isoive.
Соответствующая матрице А и вектору ь система уравнений выписана явно в листинге 9.35.
Собственные векторы и собственные значения матриц
9.4. Собственные векторы и собственные значения матрицВторая по частоте применения задача вычислительной линейной алгебры — это задача поиска собственных векторов х и собственных значений X матрицы А, т. е. решения матричного уравнения Ах=Хх. Такое уравнение имеет решения в виде собственных значений L1L2,... и соответствующих им собственных векторов x1, х2,... Для решения таких задач на собственные векторы и собственные значения в Mathcad встроено несколько функций, реализующих довольно сложные вычислительные алгоритмы:
Разложение Холецкого
9.5.1. Разложение ХолецкогоРазложением Холецкого симметричной матрицы А является представление вида A=L LT , где L — треугольная матрица (т. е. матрица, по одну из сторон от диагонали которой находятся одни нули). Алгоритм Холецкого реализован во встроено функции сholesky.
QR-разложение
9.5.2. QR-разложениеQR-разложением матрицы А называется разложение вида A=Q R, где Q — ортогональная матрица, а R — верхняя треугольная матрица.
LU-разложение
9.5.3. LU-разложениеL U-разложением матрицы А, или треугольным разложением, называется матричное разложение вида P A=L U и, где L и U — нижняя и верхняя треугольные матрицы, соответственно. P,A,L,U — квадратные матрицы одного порядка.
Функция LU-разложения, подобно предыдущей функции QR-разложения, выдает составную матрицу в (листинг 9.42). Выделить матрицы P,L,U несложно при помощи встроеной функции submatrix.
Сингулярное разложение
9.5.4. Сингулярное разложениеСингулярным разложением (singular value decomposition) матрицы А размера NXM (причем N>M) является разложение вида A=U S VT, где и и v — ортогональные матрицы размером NXN и мхм, соответственно, a s — диагональная матрица с сингулярными числами матрицы А на диагонали.
Матричные разложения
9.5. Матричные разложенияСовременная вычислительная линейная алгебра — бурно развивающаяся наука. Главная проблема, рассматриваемая ею, — это проблема решения систем линейных уравнений. В настоящее время разработано множество методов, упрощающих эту задачу, которые, в частности, зависят от структуры матрицы СЛАУ. Большинство методов основано на представлении матрицы в виде произведения других матриц специального вида или матричных разложениях. Как правило, после определенного разложения матрицы задача линейной алгебры существенно упрощается. В Mathcad имеется несколько встроенных функций, реализующих алгоритмы наиболее популярных матричных разложений.
Использование функции CreateMesh с разным набором параметров
Использование функции CreateMesh с разным набором параметров
Использование функции CreateSpace с разным набором параметров
Использование функции CreateSpace с разным набором параметров
Пример использования функции CreateSpace показан на рис. 9.4. Заметьте, для построения графика спирали не потребовалось никакого дополнительного кода, кроме определения параметрической зависимости в вектор-функции F!
Функция создания матрицы для графика трехмерной поверхности устроена совершенно аналогично, за тем исключением, что для определения поверхности требуется не одна, а две переменных. Пример ее использования иллюстрирует рис. 9.5.
Скалярное произведение векторов, умноженное на третий вектор
Листинг 9.11 Скалярное произведение векторов, умноженное на третий вектор

Векторное произведение
Листинг 9.12. Векторное произведение
Суммирование элементов вектора и диагонали матрицы
Листинг 9.13. Суммирование элементов вектора и диагонали матрицы
Поиск обратной матрицы
Листинг 9.14. Поиск обратной матрицы
Примеры возведения квадратной матрицы в целую степень
Листинг 9.15. Примеры возведения квадратной матрицы в целую степень
Векторизация необязательна для большиства функций Mathcad
Листинг 9.17. Векторизация необязательна для большиства функций Mathcad

Примеры символьных операций над векторами и матрицами
Листинг 9.18. Примеры символьных операций над векторами и матрицами
Смело используйте символьный процессор в качестве мощного математического справочника. Например, когда Вы хотите вспомнить какое-либо определение из области линейной алгебры (так, правила перемножения и обращения матриц показаны в первых строках листинга 9.18).
Транспонирование векторов и матриц
Листинг 9.1. Транспонирование векторов и матриц
Создание матриц специального вида
Листинг 9.21. Создание матриц специального вида
Выделение подматрицы
Листинг 9.23. Выделение подматрицы
Выделение частей из векторов и строк
Листинг 9.24 Выделение частей из векторов и строк
Прмеры слияния матриц
Листинг 9.25. Прмеры слияния матриц
Размер матриц и векторов
Листинг 9.26. Размер матриц и векторов
Сортировка матриц по столбцу
Листинг 9.28. Сортировка матриц по столбцу
Сортировка матриц по строке (матрица А из листинга 9.28)
Листинг 9.29. Сортировка матриц по строке (матрица А из листинга 9.28)

Нормы матриц
Листинг 9.30. Нормы матриц
Чиса обусловленности матриц
Листинг 9.31. Чиса обусловленности матриц
Ранг матрицы
Листинг 9.32. Ранг матрицы
Символьное решение СЛАУ (продолжение листинга 9.33)
Листинг 9.34. Символьное решение СЛАУ (продолжение листинга 9.33)
Решение СЛАУ с помощью вычислительного блока
Листинг 9.35. Решение СЛАУ с помощью вычислительного блока

Проверка правильности...
Листинг 9.37. Проверка правильности нахождения собственных векторов собственных значений (продолжение листинга 9,36)
Поиск обобщенных собственных векторов и собственных значений
Листинг 9.38. Поиск обобщенных собственных векторов и собственных значений
Проверка правильности...
Листинг 9.39. Проверка правильности нахождения собственных векторов и собственных значений (продолжение листинга 9.38)

Сложение матрицы со скаляром
Листинг 9.3. Сложение матрицы со скаляром
Разложение Холецкого
Листинг 9.40. Разложение Холецкого
QR-разложение
Листинг 9.41. QR-разложение
LU-разложение
Листинг 9.42. LU-разложение
Сингулярное разложение сингулярной матрицы
Листинг 9.44. Сингулярное разложение сингулярной матрицы
Проверка сингулярного разложения (продолжение листинга 9.44)
Листинг 9.45. Проверка сингулярного разложения (продолжение листинга 9.44)

Смена знака матрицы
Листинг 9.4. Смена знака матрицы

Умножение вектора и строки
Листинг 9.6. Умножение вектора и строки
Умножение матрицы на скаляр
Листинг 9.7. Умножение матрицы на скаляр

Поиск определителя квадратной матрицы
Листинг 9.8. Поиск определителя квадратной матрицы
Поиск модуля вектора
Листинг 9.9. Поиск модуля вектора
Оператор векторизации
Оператор векторизации
Определение элементов матрицы через функцию
Определение элементов матрицы через функциюПанель инструментов Matrix
Панель инструментов Matrix
Ввод символа определителя матрицы
Рис. 9.2 Ввод символа определителя матрицы
Результат вычисления определителя приведен в листинге 9.8.
Слияние матриц
Слияние матриц
Для того чтобы составить из двух или более матриц одну, в Mathcad предусмотрены две матричные функции (листинг 9.25):
Создание матриц специального вида
Создание матриц специального вида
В Mathcad легко создать матрицы определенного вида с помощью одной из встроенных функций. Примеры использования этих функций приведены в листинге 9.21.
Выделение части матрицы
Выделение части матрицыЧасть матрицы выделяется одним из следующих способов:
Биржевой анализ: Технический анализ - Инструменты - Софт
- Биржевой анализ - Технический анализ
- Обучение техническому анализу
- Индексы технического анализа
- Индикаторы технического анализа
- Методы технического анализа
- Графика в техническом анализе
- Технический анализ рынков
- Российский технический анализ
- Инструменты технического анализа
- Математика в биржевом анализе
- Разновидности биржевого анализа
- Mathematica в биржевом анализе
- MathCAD в биржевом анализе
- Maple в биржевом анализе
- Matlab в биржевом анализе