Умножение матриц в маткаде

Умножение матриц в маткаде

Матрицы в Mathcad

Векторы и матрицы рассматриваются в программе Mathcad как одномерные и двумерные массивы данных.

Матрица создается с помощью диалогового окна Вставить матрицу (рис. 1.6), которое открывают командой Вставка > Матрица (Insert > Matrix) или первой кнопкой на панели "Матрица" (рис. 1.7). Вектор задается как матрица, имеющая один столбец. В диалоговом окне задается число строк и столбцов, а после вставки на рабочий лист матрица содержит вместо элементов заполнители, вместо которых следует вставить число, переменную или выражение.

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

Для работы с элементами матрицы используют индексы элементов. Нумерация строк и столбцов матрицы начинается с нуля, что задается системной переменной ORIGIN, и может быть изменено пользователем (например, блок ORIGIN:=1 устанавливает начальный индекс равным единице). Индекс элемента задается числом, переменной или выражением и отображается как нижний индекс. Он вводится после щелчка на кнопке Индекс (Subscript, xn) на панели инструментов Mатрица (Matrix) или нажатием символа "[" после имени массива (см. приложение "Горячие клавиши"). Индексы двумерных матриц записываются через запятую.

Иногда (например, при построении графиков) требуется выделить вектор, представляющий собой столбец матрицы. Номер столбца матрицы отображается как верхний индекс, заключенный в угловые скобки: . Для его ввода используется кнопка Столбец (Matrix Column) на панели инструментов Матрица или соответствующая "горячая" клавиша.

Для задания некоторой последовательности элементов матрицы используют диапазоны. Диапазон фактически представляет собой вектор, содержащий арифметическую прогрессию, определенную первым, вторым и последним элементами. Чтобы задать диапазон, следует указать значение первого элемента, через запятую значение второго и через точку с запятой значение последнего элемента. Точка с запятой при задании диапазона отображается как две точки (..). Диапазон можно использовать как значение переменной, например х:=0,0.01..1 . Если разность прогрессии равна единице (то есть, элементы просто нумеруются), значение второго элемента и соответствующую запятую опускают.

На рис. 1.8 приведены примеры реализации некоторых операций с матрицами.

С этими понятиями Вы могли сталкиваться, работая в Excel – столбец чисел называется вектор-столбцом, строка – вектор-строкой. Блок объектов является матрицей. Вычисления в Excel, по сути, являются операциями с векторами и матрицами. В этом уроке мы познакомимся с аналогичными вычислениями в Mathcad, и мы поймем, почему в Mathcad их проводить проще.

Читайте также:  Возврат денег при покупке

Введение

В предыдущих уроках наши векторы начинались с элемента с номером «0». В этом уроке для простоты сделаем номер первого элемента равным «1». Это можно сделать с помощью вкладки Расчет –> Параметры документа –> ORIGIN:

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

Теперь рассмотрим несколько матриц:

Как видно, они могут включать в себя числа, символы и даже функции. Они также могут содержать текстовые элементы (строки).

Элемент матрицы можно вывести, используя подстрочные индексы:

Матрицы выше являются квадратными 2х2, но у них может быть любой размер по строкам и столбцам:

Запомните: первое число – номер строки (или их количество), второе – столбца.

Элементы, выделенные с помощью подстрочных индексов:

Для вектор-столбца второй индекс можно опустить, но не для вектор-строки:

Во вкладке Математика –> Операторы и символы –> Операторы –> Векторы и матрицы Вы найдете команды для выделения столбцов и строк:

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

Мы рассмотрим эту операцию подробнее позже. Однако стоит заметить, что она требует девять операций умножения и девять – сложения. Расписывать их утомительно и чревато ошибками – для больших матриц сделать это очень трудно.

Применение векторов очень широко. Вспомните пиксели на экране монитора – их могут быть миллионы. Они обрабатываются с помощью операций с матрицами.

В Mathcad

Для создания вектора или матрицы откройте вкладку Матрицы/таблицы. Когда курсор находится в пустой области щелкните по самой левой кнопке «Вставить матрицу». Появится сетка с маленькими квадратами:

Перемести указатель на сетку, выберите желаемый размер матрицы, затем щелкните левой кнопкой мыши. Появится пустая матрица:

Читайте также:  Как в автокаде поставить квадрат

Матрице можно присвоить имя, щелкнув на левую скобку, нажав [:] для оператора присваивания и введя имя:

Вставку и удаление строк и столбцов легко осуществлять с помощью команд из меню «Операторы с векторами/матрицами» на вкладке Матрицы и таблицы:

Операции с матрицами

Эффект от различных операций с матрицами и векторами будет проще понять, используя символы. Будем использовать две матрицы и два вектора:

Оператор транспонирования находится на вкладке Математика –> Операторы –> Векторы и матрицы:

Щелкните по правой границе матрицы и примените оператор. Он работает как для символьных, так и для числовых матриц:

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

Затем выберите все выражение и примените векторизацию:

Вычислите, чтобы посмотреть результат: первый элемент умножается на первый, второй – на второй, и т.д.:

Другие поэлементные операции:

Поэлементные операции применимы только к массивам одного размера.

Сложение и вычитание

Сложение и вычитание выполняется поэлементно:

Эта операция также применима лишь к массивам одного размера.

С помощью оператора суммирования можно найти сумму всех элементов вектора (не матрицы):

Умножение на константу работает так:

При скалярном умножении матриц происходит умножение строк на столбцы. При этом используется тот же символ, что и при обычном умножении. Эта операция допустима только для тех матриц, в которых число строк в первой матрице равно числе столбцов во второй. Для наших матриц 2х2:

Заметьте, что последовательность множителей играет роль:

Скалярное произведение не коммутативно, за исключением особых случаев:

Скалярное произведение двух векторов дает результат с комплексно-сопряженными числами (с чертой сверху). Для действительных чисел на это можно не обращать внимания:

Этот оператор применим только для двух вектор-столбцов, состоящих из трех элементов:

Векторное произведение имеет широкое применение в механике, гидродинамике, электромагнетизме и в других областях.

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

Произведение матрицы и ее обратной матрицы является единичной матрицей:

Произведение матрицы и единичной матрицы дает изначальную матрицу:

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

Читайте также:  Send crash report перевод

Если определитель равен нулю, обратной матрицы не существует, а матрица является сингулярной. Вспомните деление на ноль в обычной алгебре. Mathcad сообщит, если матрица является сингулярной:

Для скаляра определитель равен его модулю:

Для вектора команда Определитель вычисляет длину вектора:

Резюме

В этом уроке мы рассмотрели векторы и матрицы (массивы).

  1. Элементы массива можно вывести с помощью подстрочного индекса – один индекс для вектор-столбца, два – для других массивов. Первое индекс – для строк, второй – для столбцов.
  2. Есть специальные команды для извлечения отдельных строк и столбцов.
  3. Векторы и матрицы создаются и редактируются с помощью команд со вкладки Матрицы/таблицы.

Операции над векторами и матрицами, которые мы рассмотрели:

  1. Транспонирование.
  2. Поэлементные операции.
  3. Сложение и вычитание.
  4. Скалярное произведение.
  5. Векторное произведение.
  6. Поиск обратной матрицы.
  7. Поиск определителя.

Умножение

При умножении следует помнить, что матрицу размерности MXN допустимо умножать только на матрицу размерности NXP (р может быть любым). В результате получается матрица размерности MXP.

Чтобы ввести символ умножения, нужно нажать клавишу со звездочкой * или воспользоваться панелью инструментов Matrix (Матрица), нажав на ней кнопку Dot Product (Умножение) (рис. 9.1). Умножение матриц обозначается по умолчанию точкой, как показано в листинге 9.5. Символ умножения матриц можно выбирать точно так же, как и в скалярных выражениях (см. разд. "Управление отображением некоторых операторов" гл. 2).

Листинг 9.5. Умножение матриц:

Еще один пример, относящийся к умножению вектора на матрицу-строку и, наоборот, строки на вектор, приведен в листинге 9.6. Во второй строке этого листинга показано, как выглядит формула при выборе отображения оператора умножения No Space (Вместе).

Листинг 9.6. Умножение вектора и строки:

Тот же самый оператор умножения действует на два вектора по-другому (см. разд. 9.1.6).

Аналогично сложению матриц со скаляром определяется умножение и деление матрицы на скалярную величину (листинг 9.7). Символ умножение вводится так же, как и в случае умножения двух матриц. На скаляр можно умножать любую матрицу MXN.

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

Ссылка на основную публикацию
Adblock detector