Перейти к содержимому

Как создать матрицу в mathcad

  • автор:

Глава7операции с векторами и матрицами, матричные функции в математическом пакете mathcad

Матричное исчисление играет важную роль в компьютерной математике. Практически все численные методы на том или ином этапе работы своего алгоритма сводятся к решению систем линейных алгебраических уравнений (СЛАУ), которое часто производится матричными методами. Вообще говоря, нельзя назвать ни одной области использования компьютера, в алгоритмах которой (в большей или меньшей степени) не использовались бы матрицы.

Понятие «вектор» обычно не отделяют от понятия «матриц». Векторы могут рассматриваться как матрицы, состоящие из одного столбца (или строки).

Матричные вычисления в MathCAD можно условно разделить на три основных типа.

К первому относятся такие элементарные действия над матрицами, как создание, извлечение из них данных, их умножение, сложение или скалярное произведение (в случае векторов). Для их реализации служат специальные операторы трех панелей семейства Math (Математические): Calculator (Калькулятор), Matrix (Матричные) и Symbolics (Символьные).

Ко второму типу можно отнести те матричные преобразования, которые требуют использования специальных функций и встроенных алгоритмов матричной алгебры, таких как, например, функции вычисления определителя, матричных норм или сортировки элементов векторов по возрастанию. Функции этой группы можно найти в категории Vector and Matrix (Векторные и матричные) у мастера функций.

И, наконец, к третьему типу матричных вычислений следует отнести те задачи, решить которые можно только используя возможности системы программирования MathCAD.

В языках программирования начальные индексы массивов обычно равняются 0. По умолчанию в MathCAD индексы строк и столбцов также отсчитываются с 0. В том случае, если такая система вам неудобна или непривычна, можно изменить точку отсчета индексов на 1, задав системную переменную ORIGIN: ORIGIN:= 1.

Доступ к элементам вектора или матрицы осуществляется с помощью индексированных переменных. Например, чтобы использовать пятый элемент вектора с именем А, нужно записать этот элемент в виде: . А для того, чтобы взять элемент матрицы В, расположенный на пересечении 3-ей строчки и 4-го столбца нужно записать: .

Для задания индексов на панели Matrix предусмотрена специальная кнопка Subscript (Индекс). Перейти к записи индекса можно также с помощью клавиши «[» ( левая квадратная скобка). Нажав ее, вы увидите, что на месте будущего индекса, чуть ниже текста имени матрицы, появится черный маркер. В него через запятую следует ввести значения индексов. На первом месте при этом должен стоять номер строки, а на втором – столбца.

7.1. Создание векторов и матриц

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

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

С помощью индексированных переменных.

С помощью использования команды Insert→Matrix, либо с помощью соответствующей кнопки панели Matrix.

Задание с помощью элементов программирования.

Применение встроенных функций.

Через связь с другим приложением, например Excel.

Создание таблицы данных.

Чтение из внешнего файла.

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

Пример 1. Требуется сформировать вектор x, состоящий из 6 элементов. Элементам этого вектора присвоить значения индексов.

Решение. Предоставим два варианта решения этой задачи:

с помощью индексированной переменной;

с помощью команды Insert→Matrix.

Для того, чтобы сформировать вектор, воспользуемся вспомогательной переменной, которая будет играть роль индекса (например, i), а затем будем использовать эту переменную для здания элементных значений вектора x. Формирование вектора представлено на рис. 7.1.

Рис. 7.1. Формирование вектора с использованием индексированной переменной

Формирование вектора х будем производить с помощью команды Matrix. Для этого сначала напишем оператор присваивания: «х:=» , а затем выполним команду Matrix. Эта команда открывает диалоговое окно«Insert Matrix», которое представлено на рис. 7.2, в котором необходимо указать число строк и число столбцов. В нашем примере число строк равно 6, а число столбцов равно 1.

После нажатия кнопки «Ok» команда предоставит шаблон с шестью ячейками, в которые следует вписать значения элементов вектора.

Рис. 7.2. Вызов диалогового окна «Insert Matrix» для создания матрицы с помощью команды «Matrix»

Пример 2. В файле с именем «int(4_4).txt» записаны числа в виде матрицы четыре строчки по четыре элемента, разделенными пробелами. В файле с именем «int(4_1).txt» записаны числа в столбик. Требуется прочитать эти данные в матрицу Q и вектор P.

Решение. Для чтения данных из файла в матрицу/вектор можно воспользоваться функцией READPRN, которая имеет один параметр — имя файла. Фрагмент с решением представлен на рис. 7.3.

Рис. 7.3. Чтение данных из файлов

С матрицами могут производиться как численные, так и символьные вычисления. Операции с матрицами в системе MathCAD обозначаются так, как это принято в математике: , +, *, … .

На рис. 7.4 показано назначение некоторых специализированных команд, расположенных на панели инструментов Matrix.

Помимо этого, система MathCAD представляет большое количество функций для работы с векторами и матрицами. Воспользоваться этими функциями можно с помощью мастера функций f(x).

Х -1 – получить обратную матрицу

|X| – вычислить детерминант

М Т – транспонировать

М < > – из матрицы взять вектор-столбец

v – получить сумму элементов

–скалярное произведение векторов

–векторное произведение векторов

Рис. 7.4. Назначение некоторых команд, расположенных на панели инструментов «Matrix»

На рис. 7.5 представлены вычисления с использованием операций над матрицами.

Рис. 7.5. Примеры матричных вычислений в MathCAD

Пример 3. Требуется сформировать диагональную квадратную матрицу с(6×6). Значения элементов главной диагонали должны совпадать с номером строки/столбца.

Решение. Для получения диагональной матрицы в системе предусмотрена функция diag, которая имеет один параметр – вектор диагональных элементов. Поэтому формирование матрицы начнем с создания вспомогательного вектора, в который занесем элементы для диагонали. Для формирования этого вспомогательного вектора (например, с именем s), воспользуемся вспомогательной переменной, которая будет играть роль индекса (например, i). Тогда формирование диагональной матрицы может быть получено в результате операций, как это показано на рис. 7.6.

Рис. 7.6. Формирование диагональной матрицы

Пример 4. Даны две матрицы: А(4×3) и В(4×2). Требуется объединить эти матрицы в одну матрицу С(4×5), причем, первыми столбцами новой матрицы должны быть столбцы матрицы А, а справа от этих элементов следовать столбцы матрицы В (методом «дописывания справа»).

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

Рис. 7.7. Объединения двух матриц по правилу «дописывания справа»

Пример 5. Даны две матрицы: А(2×3) и В(3×3). Требуется объединить эти матрицы в одну матрицу С(5×3), причем, в новой матрицы в качестве первых строк должны быть строки матрицы А, а за ними должны следовать строки матрицы В.

Решение. Для соединения двух матриц в одну матрицу по правилу «друг под другом» можно использовать функцию stack, параметрами которой будут являться имена соединяемых матриц, как это показано на рис. 7.8.

Рис. 7.8. Объединения двух матриц по правилу «друг под другом»

Пример 6. Дана матрица А(6×6). Требуется получить из этой матрицу подматрицу, в которую включить элементы, расположенные в строках, начиная с номера 2-го по номер 4-ый, и столбцах, начиная с номера 0-го по номер 5-ый.

Решение. Для выделения подматрицы с номерами столбцов и строк представленными граничными значениями предусмотрена функция submatrix. Эта функция имеет 5 параметров: имя матрицы, из которой производится выбор; начальный номер строки выбора; конечный номер строки выбора; начальный номер столбца выбора; конечный номер столбца выбора. Возможное решение представлено на рис. 7.9.

Рис. 7.9. Выделение подматрицы из заданной матрицы

Пример 7. Дана матрица А(6×6). Требуется получить из этой матрицу два вектора. Первый вектор должен совпадать с 4–ым столбцом матрицы А, а второй – с 3-ей строкой матрицы А.

Решение. Для получения векторных значений можно воспользоваться командой М < > (из матрицы взять вектор-столбец), которая расположена на панели «Мatrix». Для получения первого вектора эту команду нужно применить непосредственно к матрице А, а для получения второго вектора нужно сначала получить из матрицы А транспонированную матрицу, а только потом воспользоваться командой «взять столбец». Возможное решение представлено на рис. 7.10.

Рис. 7.10. Выделение векторных значений из заданной матрицы

Пример 8. Из матрицы А(6×6) выделить минор, который образуется в результате вычеркивания из этой матрицы нулевой строчки и третьего столбца.

Решение. Решение задачи можно свести к соединению двух подматриц, выделенных из матрицы А, как это показано на рис. 7.11.

Как создать матрицу в mathcad

Матрицы в Mathcad

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

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

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

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

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

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

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

Векторы и матрицы в MathСad

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

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

19.1

Данное значение можно внести прямо в рабочее поле.

19.2

Посмотрите на матрицы на рисунке ниже.

19.3

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

19.4

Матрицы, описанные на скрине повыше, относятся к квадратному типу. Тем не менее, пользователь может самостоятельно устанавливать их размерные рамки.

19.5

Примите во внимание, что первое число обозначает общую нумерацию строчки, а второе – номер столбика.

19.6

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

19.7

Нужные команды, для всевозможного выделения строчек или столбиков вы всегда сможете отыскать во вкладке «Математика».

19.8

19.9

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

19.10

Более подробно мы рассмотрим данный опционал немного погодя. Стоит отметить, что такая функция нуждается в девяти операциях умножения и в таком же количестве деления. Согласитесь, что расписывать все эти процессы достаточно скучно. К тому же, с большими матрицами такой подход нерациональный.

Методика применения векторов отличается значительным разнообразием. Чтобы разработать вектор или матрицу, понадобится открыть вкладку «Вставить матрицу». На экране появится сетка с изображением маленьких квадратиков.

19.11

Перемещаем указатель на эту сетку. Настраиваем курсор на нужные габариты матрицы. Кликаем дважды ЛКМ.

На экране появляется новая матрица.

19.12

Матрица может быть переименована, после того, как пользователь дважды кликнет по левой скобке.

19.13

Чтобы быстро вставить или удалить строчки да столбцы, можно вызвать контекстное меню «Операторы с векторами\матрицами» на одноименной вкладке.

19.14

Работа с матрицами

Эффекты от матриц или вектором гораздо проще сообразить, пользуясь специально разработанными символами. Обратите внимание на скрин ниже.

19.15

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

19.16

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

19.17

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

19.18

Теперь нам нужно выбрать нужные параметры и активировать векторизацию.

19.19

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

19.20

Еще примеры таких опций.

19.21

Операции поэлементного типа могут применяться исключительно к массивам одинакового размера.

Добавление и вычитание

Данные операции относятся к поэлементному типу.

19.22

Она также применяется к массивам одинакового размерного типа.

Пользуясь оператором, предназначенным для суммирования, можно отыскать сумму всех векторных частей.

19.23

Скалярное произведение работает по представленному ниже принципу.

19.24

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

19.25

Обратите внимание, что немалая роль отводится поочередности множителей.

19.26

Только в редких случаях скалярное произведение может стать коммутативным.

19.27

Скаляр двух векторов показывает результат как на фотографии ниже.

19.28

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

19.29

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

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

19.30

В результате у нас получится матрица единичного типа

19.31

Если произвести матрицу и единичную матрицу, мы получим первоначальный вариант.

19.32

19.33

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

19.34

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

19.35

В ситуациях со скалярами, определитель соответствует их модулям

19.36

Команда «определитель» помогает отыскать длину вектора .

19.37

  • Назад
  • Вперед

Уважаемые пользователи, хотим Вас проинформировать о том, что некоторые антивирусные программы и браузеры ложно срабатывают на дистрибутив программы MediaGet, считая его зараженным. Данный софт не содержит никаких вредоносных программ и вирусов и многие из антивирусов просто Вас предупреждают, что это загрузчик (Downloader). Если хотите избежать подобных проблем, просто добавьте MediaGet в список доверенных программ Вашей антивирусной программы или браузера.

Выбрав нужную версию программы и кликнув ссылку, Вам на компьютер скачивается дистрибутив приложения MediaGet, который будет находиться в папке «Загрузки» для Вашего браузера. Находим этот файл с именем программы и запускаем его. И видим первый этап установки. Нажимаем унопку «Далее»

Далее Вам предлагается прочитать и одобрить лицензионное соглашение. Нажимаем кнопку «Принимаю»

В следующем окне Вам предлагается бесплатное полезное дополнительное программоное обеспечение, будь то антивирус или бразуер. Нажимаем кнопку «Принимаю». Также Вы можете отказаться от установки дополнительного ПО, нажав кнопку «Отклоняю»

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

Происходит завершение установки. Программа автоматически открывается и скачивает нужные Вам исходные файлы.

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

Работа с матрицами в MathCad 15

Чтобы ввести матрицу в mathcad 15 нужно в свободном поле ввести с клавиатуры имя матрицы. Пусть это будет M. Затем на панели Matrix нужно нажать кнопку «Matrix or vector». В появившемся окне нужно ввести количество строк и столбцов и нажать OK

Рис. 1. Ввод матрицы

Затем появится заготовка матрицы с пустыми маркерами для ввода элементов вручную. См. рис. 2

Рис. 2. Заполнение матрицы

Перемножение матриц

Как известно, перемножение матриц осуществляется по правилу «строка на столбец». Введем 2 матрицы 3 х 3 с именами M и N. Перемножение матриц осуществляется с помощью стандартной операции умножения. На рис. 3 смотрите синтаксис записи

Рис. 3. Перемножение матриц

Транспонирование матриц

Как известно, при транспонировании матрицы ее строки становятся столбцами. В mathcad есть функция, которая позволяет выполнить транспонирование. Введите имя матрицы, которую хотите транспонировать, и на панели Matrix нажмите кнопку «Matrix transpose». На рис. 4 смотрите синтаксис для записи этой операции.

Рис. 4. Транспонирование матрицы

Обратные матрицы

Как известно, обратной матрицей M^-1 является такая матрица, при умножении которой на исходную матрицу M получается единичная матрица. Существует множество аналитических способов нахождения обратной матрицы. В mathcad есть стандартная операция по определению обратной матрицы. Введите исходную матрицу M. Затем снова введите имя матрицы M и на панели Matrix нажмите кнопку «Invers». на рисунке 5 можно посмотреть синтаксис записи и убедиться в правильности определения обратной матрицы

Рис. 5. Обратная матрица

Выделение столбца и строки из матрицы

Для того чтобы «вытащить» столбец из матрицы можно воспользоваться стандартной функцией mathcad из панели matrix. Введите произвольную матрицу M и затем ниже в рабочем поле mathcad выполните операцию, как показано на рис. 6. Обратите внимание, что по умолчанию номера столбцов и строк индексируются с «нуля»

Рис. 6. Выделение столбца матрицы

Аналогичным способом можно выделить строку, но для этого матрицу предварительно нужно транспонировать. При этом строка будет отображена в виде столбца. Если вы хотите получить результат в виде строки, то операцию транспонирования нужно провести 2 раза. Синтаксис будет выглядеть как на рисунке 7

Рис. 7. Выделение строки матрицы

Обратите внимание, что если при перемножении матриц их размерность «не совпадает» то mathcad выдаст ошибку

Обратите внимание, что обратная матрица не всегда может существовать для исходной матрицы

Donec eget ex magna. Interdum et malesuada fames ac ante ipsum primis in faucibus. Pellentesque venenatis dolor imperdiet dolor mattis sagittis. Praesent rutrum sem diam, vitae egestas enim auctor sit amet. Pellentesque leo mauris, consectetur id ipsum sit amet, fergiat. Pellentesque in mi eu massa lacinia malesuada et a elit. Donec urna ex, lacinia in purus ac, pretium pulvinar mauris. Curabitur sapien risus, commodo eget turpis at, elementum convallis elit. Pellentesque enim turpis, hendrerit tristique.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis dapibus rutrum facilisis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Etiam tristique libero eu nibh porttitor fermentum. Nullam venenatis erat id vehicula viverra. Nunc ultrices eros ut ultricies condimentum. Mauris risus lacus, blandit sit amet venenatis non, bibendum vitae dolor. Nunc lorem mauris, fringilla in aliquam at, euismod in lectus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. In non lorem sit amet elit placerat maximus. Pellentesque aliquam maximus risus, vel venenatis mauris vehicula hendrerit.

Interdum et malesuada fames ac ante ipsum primis in faucibus. Pellentesque venenatis dolor imperdiet dolor mattis sagittis. Praesent rutrum sem diam, vitae egestas enim auctor sit amet. Pellentesque leo mauris, consectetur id ipsum sit amet, fersapien risus, commodo eget turpis at, elementum convallis elit. Pellentesque enim turpis, hendrerit tristique lorem ipsum dolor.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *