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

REDMOND

I. СОЗДАНИЕ ВЕКТОРОВ И МАТРИЦ В MATHCAD

ü осуществить действия над матрицами в среде MathCAD.

Обеспечение работы:

ü ПК с установленными необходимыми программами для работы (MathCad);

ü методические указания к выполнению работы (электронный вариант).

Порядок выполнения работы:

1. Ознакомиться с теоретическим материалом данных методических указаний;

2. Выполнить задания, приведенные в разделе II. Порядок выполнения работы;

3. Ответить на контрольные вопросы, сделать выводы.

4. Оформить отчет.

Содержание отчета:

ü тема, цель и порядок выполнения работы;

ü привести выполненные задания (скриншоты);

ü ответы на контрольные вопросы;

Теоретические положения

I. СОЗДАНИЕ ВЕКТОРОВ И МАТРИЦ В MATHCAD

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

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

Способ 1. Используется для задания фиксированных целочисленных значений. Шаблон имеет вид:

Name := Nbegin .. Nend,

где Name – имя переменной, Nbegin – ее начальное значение, Nend – конечное значение, «..» – символ, указывающий на изменение переменной в заданных пределах (вводится клавишей «;»). Если Nbegin < Nend, то шаг переменной будет равен +1, иначе –1.

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

Name := Nbegin, (Nbegin + Step) .. Nend,

где Step – заданный шаг изменения переменной (он должен быть положительным, если Nbegin < Nend, или отрицательным в обратном случае).

Дискретные аргументы значительно расширяют возможности MathCAD, позволяя выполнять многократные вычисления или циклы с повторяющимися вычислениями, формировать векторы и матрицы.

Массив – имеющая уникальное имя совокупность конечного числа числовых или символьных элементов, упорядоченных некоторым образом и имеющих определенные адреса [9]. В пакете MathCAD используются массивы двух наиболее распространенных типов:

Порядковый номер элемента, который является его адресом, называется индексом. Индексы могут иметь только целочисленные значения. Они могут начинаться с нуля или единицы, в соответствии со значением системной переменной ORIGIN(см. Приложение В).

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

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

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

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

Доступ к элементам вектора или матрицы осуществляется с помощью индексированных переменных [1]. Например, чтобы использовать пятый элемент вектора с именем А, нужно записать

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

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

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

В системе MathCAD предусмотрены различные возможности задания векторов и матриц. К ним относятся следующие возможности.

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

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

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

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

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

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

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

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

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

Далее представлены примеры, в которых представлены основные команды для работы с матрицами в пакете MathCAD.

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

Решение. Предоставим два варианта решения этой задачи. 1. С помощью индексированной переменной. Для того чтобы сформировать вектор, воспользуемся вспомогательной переменной, которая будет играть роль индекса (например, i), а затем будем использовать эту переменную для здания элементных значений векторах. Формирование вектора представлено на рис. 2.1.

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

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

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

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

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

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

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

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

MT транспонирование матрицы,

M< > из матрицы взять вектор столбец,

åv получить сумму элементов,

x y × скалярное произведение векторов,

x´y векторное произведение векторов.

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

REDMOND

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

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

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

Пример 2.4.Даны две матрицы A и В с размерностями 4.3 и 4.2 соответственно. Требуется объединить эти матрицы в одну матрицу C(4.5), причем, первыми столбцами новой матрицы должны быть столбцы матрицы А, а справа от этих элементов следовать столбцы матрицы В (методом «дописывания справа»).

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

Пример 2.5.Даны две матрицы A с размерностью 2.3 и В с размерностью 3.3. Требуется объединить эти матрицы в одну матрицу С(5.3), так чтобы в новой матрице в качестве первых строк располагались строки матрицы А, а за ними должны следовать строки матрицы В.

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

Пример 2.6.Дана матрица A с размерностью 5.5. Требуется получить из этой матрицу подматрицу, в которую включить элементы, расположенные в строках, начиная с номера 2 по номер 4, и столбцах, начиная с номера 0 по номер 5.

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

Пример 2.7.Дана матрица A(3.3). Требуется получить из заданной матрицы A два вектора. Первый вектор B должен совпадать с четвёртым столбцом матрицы А, второй вектор С – с третьей строкой матрицы А.

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

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

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

Использование матриц специального вида для выполнения матричных операций в системе MathCAD. Известно, что в результате умножении матрицы на вектор получается вектор. Причем, каждый i-й элемент этого вектора-результата представляет собой сумму попарных произведений соответствующих элементов i-й строки матрицы на элементы вектора-сомножителя. Очевидно, если в векторе, на который умножается матрица, все элементы равны нулю, а один элемент равен единице, то результатом такого произведения будет число, соответствующее тому элементу i-ой строки матрицы, где векторным сомножителем будет единица. Такой вывод можно использовать для выделения (формирования) из матрицы нужного столбца.

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

Решение. Для получения новых векторов сформируем два вспомогательных вектора: вектор B1– с единичным значением в строке с номером 0, а второй вектор В2 – с единичным значением в строке с номером 3. Тогда для получения векторов в соответствии с условием задачи достаточно умножить матрицу А справа на векторы В1 и В2, как это показано на рис. 2.11.

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

Пример 2.10.Дана матрица A(4.4). Требуется переставить в матрице строки с номерами 0 и 1.

Решение. Для преобразования исходной матрицы требуется подготовить вспомогательную матрицу. Во вспомогательной матрице местоположение единиц в строках должно соответствовать нужному порядку для расположения строк в новой матрице. После этого решение можно получить простым перемножением матриц (рис. 2.12).

Пример 2.11.Дана матрица (4.4). Требуется найти сумму элементов в третьем столбце матрицы.

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

Пример 2.12.Дана матрица: A(4.4). Требуется получить вектор, элементы которого будут представлять суммы элементов в столбцах матрицы.

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

MathCAD — это просто! Часть 10. Работа с векторами и матрицами

Снова здравствуйте. Мы с вами успели вполне успешно закончить со школьной алгеброй, и, значит, можем переходить к более сложным вещам — например, к тому разделу математики, который в университетах обычно называют линейной алгеброй. Конечно, раздел этот весьма и весьма обширен, и нечего даже думать о том, чтобы охватить хотя бы большую его часть. Тем не менее, нам с вами, я так думаю, кое-что из него научиться использовать практически вполне по силам — к примеру, мы можем научиться работать в MathCAD&#8217;е с векторами и матрицами. Эти два понятия — важнейшие математические абстракции, роль которых трудно переоценить в научно-техническом прогрессе. Ведь именно применение векторов и векторного анализа позволило в свое время Оливеру Хевисайду сократить количество уравнений Максвелла, описывающих электромагнитное поле, с двух десятков до всего лишь четырех. До векторного анализа, я так думаю, мы с вами в свое время еще доберемся, ну, а пока займемся более прозаическими вещами. Какими именно? Думаю, все станет ясно, если вы продолжите читать эту статью.
Немного об элементах матриц

Хотя дальше мы будем иметь дело и с векторами, и с матрицами, я краткости ради буду говорить просто &#171;матрица&#187;, подразумевая, что под вектором мы будем иметь в виду частный случай матрицы, а именно ту ее разновидность, которая представляет собой одиночный столбец. Если же вектор будет представлять собой строку, то это будет специально оговорено. Впрочем, думаю, до этого дело вряд ли дойдет. С матрицами, вообще говоря, мы с вами работать уже немного умеем. Ну, не то чтобы прямо так вот работать — по крайней мере, вводить их в MathCAD&#8217;е мы уже вводили. Тем не менее, думаю, будет не лишним напомнить, что ввести в рабочую область матрицу можно с помощью кнопки Matrix or Vector, расположенной на панели Matrix, либо с помощью сочетания горячих клавиш Ctrl+M. Впрочем, мы с вами пока не затрагивали один небольшой, но крайне важный момент, а именно как обращаться в вычислениях не к матрице целиком, а к отдельным ее элементам. Сделать это, на самом деле, очень просто. Пусть у нас задана квадратная матрица X размером два на два элемента. Верхний левый элемент будет иметь индексы 0,0; нижний правый, соответственно, будет иметь индексы 1,1. То есть, как видите, элементы матрицы нумеруются с нуля. Это, в общем-то, довольно удобно, однако, если для вас привычнее нумеровать их с единицы, или, скажем, с 1024-х, то можно поменять значение встроенной переменной ORIGIN, введя в самом начале документа MatchCAD в строку (без кавычек). Или, соответственно, &#171;ORIGIN := 1024&#187;. Можно поменять значение переменной и в окне опций MathCAD&#8217;а, выбрав в меню Tools пункт Worksheet options и на вкладке Built-In Variables поменяв значение переменной ORIGIN на нужное вам.

Так вот, вернемся к нашим элементам матрицы. Чтобы &#171;вынуть&#187; из нее первый элемент, нужно написать следующее: X0, 0. Для того, чтобы записать индексы внизу от имени переменной, которая обозначает матрицу, можно воспользоваться кнопкой Subscript со все той же панели инструментов для матричных и векторных вычислений или с клавиатуры перейти в нижний индекс клавишей &#171;[&#187; (русское &#171;х&#187;). Обратите внимание, что для разделения индексов, обозначающих строку и столбец, используется запятая. Элементы матрицы можно не только извлекать из матрицы, заданной таблично. Вы можете задать несколько элементов с соответствующими индексами по ходу вычисления, а после уже MathCAD самостоятельно сформирует из них матрицу (но только когда вы зададите уже все ее элементы — в противном случае незаданным элементам будут присвоены нулевые значения). Вы можете использовать ранжированные переменные для задания элементов матрицы. Временами это бывает не просто удобно, а очень удобно. Так, к примеру, можно задать для матрицы X следующую формулу, описывающую значения каждого ее элемента i-й строки и j-го столбца: Xi, j := i * j. Перед таким определением элементов матрицы остается только определить диапазон, в котором будут изменяться i и j. Я для примера взял значения i := 0..5 и j := 0..5, но вы, конечно же, можете установить любой другой нужный вам диапазон в зависимости от требований вашей задачи, решаемой с помощью матриц в среде MathCAD.

Операции над матрицами

Конечно, у применения матриц в реальных задачах существует множество интересных и не очень аспектов, однако все они рано или поздно упираются в необходимость проведения с матрицами простых алгебраических операций. Проводить их вручную — задача трудоемкая, и можно потратить время с гораздо большей пользой, переложив рутинную работу на MathCAD. Для начала познакомимся с теми функциями, которые собственно никаких математических операций не выполняют, но при этом являются весьма важными в действиях с матрицами. Эти функции позволяют объединять две матрицы в одну (не складывать матрицы, а просто объединять их элементы) и выделять из матрицы другую матрицу. Первая из функций — augment. Она объединяет две матрицы, имеющие одинаковое число строк, таким образом, что из них образуется одна, в которой элементы этих двух располагаются, что называется, &#171;плечом к плечу&#187;. В качестве аргументов этой функции нужны только две объединяемые матрицы. Ее аналог для тех матриц, которые имеют одинаковое число столбцов, и должны быть объединены одна над другой, является функция stack. Ее аргументами тоже должны быть две объединяемые матрицы. Функция же, которая не объединяет, а, напротив, &#171;разрезает&#187; матрицы, имеет название submatrix. Для нее нужно указывать имя матрицы, из которой мы хотим выделить подматрицу, и координаты элементов новой матрицы в старой матрице. То есть для того, чтобы вырезать матрицу 4х4 из верхних левых элементов матрицы размером 5х5, нам нужно вызывать эту функцию со следующими параметрами: submatrix(Y, 0, 4, 0, 4). Здесь Y — это, конечно же, имя матрицы размером 5х5 элементов. Демонстрацию использования всех этих функций применительно к конкретным матрицам можно увидеть на соответствующей иллюстрации к статье.

Теперь, я так думаю, самое время перейти уже к арифметическим операциям над матрицами. Вы увидите, что их использование в MathCAD не потребует от вас никаких специальных знаний в области линейной алгебры — не считая, конечно, общих представлений о том, как работают матричные операции, для понимания того, что может получиться в их итоге. MathCAD хорош для пользователя тем, что позволяет ему работать с векторами и матрицами точно так же, как с обычными скалярами, сиречь переменными, содержащими исключительно и только действительные числа. Попробуйте задать две матрицы (я их назвал aa и bb), а затем применить к ним операцию сложения точно так же, как когда-то применяли ее к обыкновенным числам. Конечно, для того, чтобы матрицы можно было складывать, они должны иметь одинаковые размеры. Точно так же можете попробовать вычесть из одной матрицы другую или перемножить их. Вы увидите, что MathCAD успешно справляется с подобными задачами, не напрягая пользователя излишними вычислениями.

Транспонировать матрицы в MathCAD&#8217;е ничуть не сложнее, чем их складывать или перемножать. Вычислять обратные матрицы, впрочем, тоже. Во всех этих задачах помогут соответствующие операторы с Они обозначены на ней теми же значками, что и в учебниках по линейной алгебре, а потому пользователю, хотя бы минимально знакомому с матричным исчислением, все должно быть просто и понятно. Нужно только помнить, что нельзя вычислить обратную матрицу для той матрицы, которая является вырожденной (то есть имеет нулевые или пропорциональные друг другу строки или столбцы). Для того, чтобы не останавливаться излишне подробно на этих простых операциях, просто приведу иллюстрацию, демонстрирующую их практическое использование. Думаю, у читателей не возникнет никаких проблем ни с транспонированием, ни с вычислением обратной матрицы с помощью MathCAD.

Еще одной часто выполняемой операцией является вычисление детерминанта, или определителя матрицы. Думаю, что совсем не огорчу вас известием о том, что в MathCAD и с определителями работать так же просто, как и со всем остальным, связанным с матрицами. За его вычисление отвечает кнопка Determinant, расположенная, конечно же, на панели Matrix. Поскольку детерминант в MathCAD&#8217;е, как и вообще в линейной алгебре, обозначается с помощью символов прямых черт, ограничивающих матрицу (или имя переменной, ее обозначающей), то вполне логично, что вставить эти самые прямые черты в текст выражения можно с помощью соответствующей клавиши на клавиатуре: Shift + \. Думаю, этой несложной комбинацией будет пользоваться все же удобнее, чем искать каждый раз нужную кнопку на панели инструментов MathCAD&#8217;а.

Внешний вид матриц

Мы с вами, конечно же, далеко еще не закончили свое знакомство с матрицами в MathCAD&#8217;е, однако, думаю, на сегодня уже непосредственной математики хватит. В конце статьи я лучше расскажу о том, как можно изменить способ отображения матриц в среде MathCAD — возможно, кому-то из читателей этой статьи эта информация будет полезной и небезынтересной.

Дело в том, что MathCAD может отображать матрицы не только в привычном всем виде чисел, заключенных в скобки, но и в виде таблиц. Если вы используете этот математический пакет для каких-либо статистических расчетов и при этом работаете с большими массивами данных, то, безусловно, такое отображение матриц будет более предпочтительным для вас, чем традиционное. Для изменения способа отображения матриц дважды кликните по нужной матрице и в появившемся окне перейдите на вкладку Display Options. Далее в поле Matrix display style выберите значение Table. Матрица приобретет вид точно такой, как на соответствующей иллюстрации к этой статье.

Внешний вид таблицы можно также настроить далее, кликнув по ней правой кнопкой мыши и выбрав пункт Properties. В появившемся окне можно снять птичку с пункта Show column/row labels, чтобы убрать отображение нумерации строк и столбцов в матрице, представляемой в виде таблицы. На вкладке Data Range можно выбрать диапазон отображаемых строк и столбцов матрицы, что также полезно для матриц, содержащих большое количество элементов.

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

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

Вы здесь: Всё о Mathcad />Всё о Mathcad />Матричные вычисления

Решение системы линейных алгебраических уравнений матричным способом в Mathcad

Рассмотрим системы линейных алгебраических уравнений в Mathcad в векторно-матричной форме A*x =b, где А – квадратная матрица коэффициентов при неизвестных, причем определитель матрицы должен быть отличным от нуля; х- вектор неизвестных; b — вектор свободных членов. Решение данной сводится к следующему. Если определитель матрицы А отличен от нуля, то матрица А обратима. Тогда, умножив левую и правую часть и сходного уравнения на обратную матрицу (А-1), получаем решение в виде x=A-1*b. Реализовать полученное решение средствами Mathcad не представляет сложностей. Для случая бесконечного множества решений получаем сингулярную матрицу, Mathcad выдает сообщение “Matrix is singular. Cannot compute its inversу – Матрица сингулярная. Нельзя вычислить эту инверсию” и прерывает вычисления. На листинге представлен пример решения систем линейных алгебраических уравнений.

Algebraic Equations

Решение системы линейных алгебраических уравнений методом Крамера в Mathcad

В Mathcad метод Крамера также предназначен для решения системы n линейных уравнений с n неизвестными вида A*x =b на основе предварительного вычисления определителей системы, при условии, что определитель Решение системы линейных алгебраических уравнений методом Крамера в Mathcadматрицы А отличен от нуля. Метод основан на формулах Крамера, вида Решение системы линейных алгебраических уравнений методом Крамера в Mathcad, где Решение системы линейных алгебраических уравнений методом Крамера в Mathcad– определитель матрицы, полученной из матрицы А системы заменой i –го столбца, т.е. столбца коэффициентов при неизвестном Xi вектором свободных членов, т.е. b. На листинге в Mathcad приведен пример решения системы линейных алгебраических уравнений методом Крамера.

Решение системы линейных алгебраических уравнений методом Крамера

Матрицы и векторы в Mathcad

Операции, выполняемые над векторами и матрицами в Mathcad, можно разбить на две большие группы. К первой группе относятся операции, которые применяются к отдельным векторам и матрицами. Например, транспонирование матрицы или вычисление обратной матрицы в Mathcad. Ко второй группе относятся операции, которые выполняются над группой векторов и матриц. Как правило, они выполняются над двумя матрицами или матрицей и вектором. Например, сложение, вычитание матриц, перемножение матриц или умножение матрицы и вектора. К векторам и матрицам в Mathcad, при выполнении операций над ними, могут предъявляться определенные требования в соответствии с требованиями классической математики. Например, при перемножении матрицы и вектора, количество столбцов матрицы должно быть равно количеству срок вектора. Поэтому при работе с векторами и матрицами пользователь должен иметь необходимую математическую подготовку. В таблице приведены основные операции, выполняемые над векторами и матрицами, используемые в Mathcad. В таблице приняты следующие обозначение: А – массив, под которым понимается вектор или матрица, М – матрица, z — скаляр, v – вектор.

Основные операции с матрицами и векторами

Наиболее удобно выполнять матричные вычисления с использованием кнопок панели инструментов “Матрица”. По умолчанию индексация строк и столбцов элементов матрицы начинается с 0. Для того чтобы индексация начиналась с 1, необходимо системной переменной ORIGIN присвоить значение 1. На листинге приведен пример матричных вычислений в Mathсad.

Матрицы и векторы в Mathcad

Матричные функции в Mathcad

Mathсad имеет более 50 функций, предназначенных для работы с векторами и матрицами. Все функции можно разбить на группы по их функциональному назначению. Например, функции, предназначенные для создания матриц общего и специального вида, редактирования и преобразования матриц, функции, определяющие параметры матриц и т. д. Рассмотрим часть этих функций, которые имеют наибольшее прикладное значение.

Среди функций, предназначенных для создания матриц, следует выделить функцию matrix(L,N,f), где L – число строк матрицы, N – число столбцов матрицы, f – функция f(l,n) при . Другая функция из этой группы identity(n). Функция предназначена для создания единичной матрицы размерности n. Следующая функция geninv(M) позволяет осуществить обращение матрицы M, аналогично операции M -1 .

Для определения размерности матрицы в Mathcad предназначены функция rows(M), определяющая число строк матрицы M, и функция cols(M), определяющая число колонок матрицы M.

Сортировку элементов матрицы осуществляют две функции csort(M,i), rsort(M,j). Функция csort(M,i) обеспечивает сортировку по возрастанию элементов i – го столбца путем перестановки строк, а функция rsort(M,j) – сортировку по возрастанию элементов j –ой строки путем перестановки столбцов.

Для определения минимального и максимального элемента матрицы используются функции min(M) и max(M).

Выделить произвольную подматрицу из матрицы М в Mathcad можно посредством функции submatrix (M, r1, r2, c1, c2), где М – исходная матрица, r1 и r2 –нижний и верхний номер строки матрицы М, включаемых в результирующую подматрицу, а с1 и с2 – нижней и верхний номер столбца матрицы М, включаемых в результирующую подматрицу. Слияние матриц можно осуществить, используя функции augment(A,B,…) и stack(A,B,…). Функция augment(A,B,…) предназначена для слияния матриц А, В и т.д. слева направо. Причем количество строк в матрицах должно быть одинаково. Вторая функция stack(A,B,…) выполняет слияние матриц сверху вниз. Количество столбцов в матрицах должно быть также одинаково. Данные функции могут быть применены и к векторам. На листинге приведен пример использования рассмотренных матричных функций.

 Матричные функции в Mathcad

Матричные вычисления в Mathcad

Создание векторов и матриц реализовано в Mathсad различными способами. В данном разделе рассматриваются только функции и операции с векторами и матрицами, а так же прикладное использование векторов и матриц для решения некоторых задач.

Матричные функции

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

Основные операции с матрицами и векторами

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

Решение системы линейных алгебраических уравнений матричным способом

В Mathcad можно решать системы линейных алгебраических уравнений матричным способом.

Решение системы линейных алгебраических уравнений методом Крамера

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

REDMOND

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

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