Как написать вектор в маткаде
Одиночное число в Mathcad называется скаляром. Столбец чисел называется вектором, а прямоугольная таблица чисел — матрицей. Общий термин для вектора или матрицы — массив.
Можно различать имена матриц, векторов и скаляров, используя различный шрифт для их написания. Например, во многих математических и инженерных книгах имена векторов пишутся жирным, а имена скалярных переменных — курсивом.
Если понадобится создавать еще векторы, можно оставить диалоговое окно “Матрицы” открытым для дальнейшего использования.
Сложение — только одна из операций Mathcad, определенных для векторов и матриц. В Mathcad также есть вычитание матриц, умножение матриц, скалярное произведение, целочисленные степени, детерминанты и много других операторов и функций для векторов и матриц. Полные списки появляются в разделах “Векторные и матричные операторы” и “Векторные и матричные функции” ниже в этой главе.
Если Вы используете Mathcad PLUS, Вы сможете выполнить много символьных операций с матрицами. Подробнее об этом см.в Главе “Символьные вычисления”.
Можно использовать эту матрицу в формулах в точности так же, как и число или вектор.
Везде в настоящем руководстве термин вектор относится к вектору-столбцу. Вектор-столбец идентичен матрице с одним столбцом. Можно также создать вектор-строку, создав матрицу с одной строкой и многими столбцами. Операторы и функции, которые берут векторный аргумент, всегда ожидают вектор-столбец. Они не применимы к векторам-строкам. Чтобы превратить вектор-строку в вектор-столбец, используйте оператор транспонирования[Ctrl]1.
Изменение размера матрицы
Обратите внимание, что при удалении строк или столбцов Mathcad выбрасывает содержащуюся в них информацию.
Чтобы удалить всю матрицу или вектор, заключите их в выделяющую рамку и выберите Вырезать из меню Правка.
Исправляем ошибки: Нашли опечатку? Выделите ее мышкой и нажмите Ctrl+Enter
Векторы и матрицы в MathCAD
Нижняя граница индексации в MathCAD определена системной переменной ORIGIN. По умолчанию ORIGIN=0. Значение переменной можно переопределить. Например, ORIGIN=1.
Векторы и матрицы в MathCAD можно задавать путем ввода их элементов. Для ввода индекса элемента массива используется символ – [.
Поэлементный ввод массива Х
Вводимые символы | Отображаемые символы |
X [ 1 Shift+: 5 | X1:=5 |
X [ 2 Shift+: 8 | X2:= 8 |
X [ 3 Shift+: 10 | X3:= 10 |
Поэлементный ввод матрицы А
Для операций с матрицами и векторами предназначена панель Matrix, которая открывается щелчком по кнопке в панели математических инструментов.
ПанельMatrix содержит следующие кнопки:
– определение размеров матрицы;
– ввод элемента массива ;
– вычисление матрицы, обратной к данной ;
– вычисление определителя матрицы ;
– оператор векторизации (поэлементные операции с векторами и матрицами) ;
– определение столбца матрицы ;
– транспонирование матрицы ;
– определение ранжированной переменной;
– вычисление скалярного произведения векторов;
– вычисление векторного произведения векторов;
– вычисление суммы компонент вектора.
– визуализация цифровой информации.
Действия, которые необходимо выполнить, чтобы ввести матрицу в рабочий документ при помощи кнопки панели Matrix:
1. Ввести с клавиатуры имя матрицы и знак присваивания;
2. Щелчком по кнопке открыть окно диалога:
3. Определить число строк (Rows) и число столбцов (Columns) будущей матрицы;
4. Закрыть окно диалога, щелкнув по кнопке OK;
5. Ввести элементы матрицы, установив курсор в поле ввода, которое появится справа от знака присваивания:
Функции определения матриц и операции с блоками матриц:
matrix(m,n,f) – создает и заполняет матрицу A=ij> размерности m на n, каждый элемент которой aij равен значению функции f(i,j);
diag(v) – создает диагональную матрицу, элементы главной диагонали которой хранятся в векторе v;
identity(n) – создает единичную матрицу порядка n;
submatrix(A,l,k,p,r) – формирует матрицу, которая является блоком матрицы А, расположенным в строках с l по k и в столбцах с p по r (l
Re(A) – возвращает матрицу (вектор) действительных частей матрицы (вектора) А с комплексными элементами;
Im(A) – возвращает матрицу (вектор) мнимых частей матрицы (вектора) А с комплексными элементами;
Функции вычисления различных числовых характеристик матриц:
last(v) – вычисление номера последнего элемента вектора v;
length(v) – вычисление количества элементов вектора v;
rows(A) – вычисление числа строк в матрице А;
cols(A) – вычисление числа столбцов в матрице А;
max(A) – вычисление наибольшего элемента в матрице (векторе) А;
min(A) – вычисление наименьшего элемента в матрице (векторе) А;
mean(A) – вычисление среднего значения матрицы (вектора) А;
tr(A) – вычисление следа (суммы диагональных элементов) квадратной матрицы А;
ranc(A) – вычисление ранга матрицы А;
Функции, реализующие численные алгоритмы:
rref(A) – приведение матрицы А к ступенчатому виду;
geninv(A) – вычисляет матрицу, левую обратную к матрице А, L∙A=E, где Е – единичная матрица размером n×n, L – прямоугольная матрица размером n×m, А – прямоугольная матрица размером m×n;
lsolve(A,b) – решение системы линейных алгебраических уравнений A∙x=b.
lu(A) – выполняет треугольное разложение матрицы А: A=С∙L∙U, где L и U – соответственно нижняя и верхняя треугольные матрицы, все четыре матрицы квадратные и одного порядка;
qr(A) – выполняет разложение матрицы А: A=Q∙R, где Q – ортогональная матрица, а R – верхняя треугольная матрицы;
sort(v) – сортировка элементов вектора v в порядке возрастания их значений;
reverse(v) – перестановка элементов вектора v в обратном порядке;
csort(A,n) – перестановка строк матрицы А таким образом, чтобы отсортированным оказался n-й столбец;
rsort(A,n) – перестановка столбцов матрицы А таким образом, чтобы отсортированной оказалась n-я строка.
ЗАДАЧА 1. Сформировать матрицу H из элементов матрицы D, исключив третий столбец и вторую строку.
ЗАДАЧА 2. Сформировать матрицу H следующим образом. Первая и последняя строки равны строкам матрицы D, остальные совпадают с матрицей C.
ЗАДАЧА 3. Сформировать матрицу таким образом, чтобы элементы на главной диагонали были равны 1, выше главной диагонали – 2, а ниже – 3.
ЗАДАЧА 4. Элементы матрицы формируются по формуле . Сформировать вектор из максимальных элементов столбцов матрицы А. Найти сумму элементов матрицы, расположенных в четных строках.
ЗАДАЧА 5. Выполнить действия над матрицами А, В, С:
ЗАДАЧА 6. Решить систему линейных уравнений при помощи правила Крамера:
Для решения поставленной задачи необходимо выполнить следующие действия:
1. Сформировать матрицу системы А и вектор правых частей b.
2. Вычислить главный определитель ∆.
3. Сформировать вспомогательные матрицы (удобно скопировать матрицу А несколько раз и последовательно заменять в ней столбцы на вектор b) для вычисления определителей ∆i;
4. Вычислить определители ∆i;
5. Найти решение системы по формуле xi=∆i/∆.
ЗАДАЧА 7. Решить систему линейных уравнений методом обратной матрицы.
1. Сформировать матрицу коэффициентов и вектор свободных членов системы.
2. Решить систему, представив вектор неизвестных как произведение матрицы, обратной к матрице системы и вектора свободных членов.
ЗАДАЧА 8. Решить систему линейных уравнений методом Гаусса.
Порядок решения задачи:
1. Сформировать матрицу коэффициентов и вектор свободных членов заданной системы.
2. Сформировать расширенную матрицу системы при помощи функции augment(A,b);
3. Используя функцию rref(A), привести расширенную матрицу к ступенчатому виду.
4. Получить решение системы, выделив последний столбец матрицы, полученной в предыдущем пункте.
5. Выполнить проверку Ax-B=0.
ЗАДАЧА 9. Решить систему при помощи функции lsolve:
Пример системы, которая не имеет решений:
Пример системы, которая имеет бесконечное множество решений
ЗАДАЧА 10. Решить систему при помощи решающего блока.
Решающий блок начинается с ключевого слова Given (Дано), которое необходимо ввести с клавиатуры.
Правее и ниже ключевого слова записываются уравнения системы.
Знак равенства в уравнениях вводится при помощи клавиш Ctrl+= или выбирается на панели инструментов Boolean.
Правее и ниже последнего уравнения системы вводится функция Find(x1,x2,…xn) (Найти), в скобках перечисляются имена переменных, значения которых нужно найти.
Численное решение системы можно получить, поставив знак равенства после функции Find(x1,x2,…xn).
Символьное решение получится, если после функции Find(x1,x2,…xn) указать знак стрелки, который находится в панели инструментов Symbolic (Ctrl+.).
Урок 21. Векторы и матрицы в Mathcad
С этими понятиями Вы могли сталкиваться, работая в Excel – столбец чисел называется вектор-столбцом, строка – вектор-строкой. Блок объектов является матрицей. Вычисления в Excel, по сути, являются операциями с векторами и матрицами. В этом уроке мы познакомимся с аналогичными вычислениями в Mathcad, и мы поймем, почему в Mathcad их проводить проще.
Введение
В предыдущих уроках наши векторы начинались с элемента с номером «0». В этом уроке для простоты сделаем номер первого элемента равным «1». Это можно сделать с помощью вкладки Расчет –> Параметры документа –> ORIGIN:
Это значение можно вывести прямо в документ, чтобы не забыть его и не запутаться:
Теперь рассмотрим несколько матриц:
Как видно, они могут включать в себя числа, символы и даже функции. Они также могут содержать текстовые элементы (строки).
Элемент матрицы можно вывести, используя подстрочные индексы:
Матрицы выше являются квадратными 2х2, но у них может быть любой размер по строкам и столбцам:
Запомните: первое число – номер строки (или их количество), второе – столбца.
Элементы, выделенные с помощью подстрочных индексов:
Для вектор-столбца второй индекс можно опустить, но не для вектор-строки:
Во вкладке Математика –> Операторы и символы –> Операторы –> Векторы и матрицы Вы найдете команды для выделения столбцов и строк:
Многие операции для векторов и матриц аналогичны операциям для обычных чисел, переменных и функций: сложение, вычитание, некоторые виды умножения. Поиск обратной матрицы близко к операции деления. Вы можете записать эти операторы, используя имена векторов и матриц. В качестве примера рассмотрим векторное произведение матрицы и вектора:
Мы рассмотрим эту операцию подробнее позже. Однако стоит заметить, что она требует девять операций умножения и девять – сложения. Расписывать их утомительно и чревато ошибками – для больших матриц сделать это очень трудно.
Применение векторов очень широко. Вспомните пиксели на экране монитора – их могут быть миллионы. Они обрабатываются с помощью операций с матрицами.
В Mathcad
Для создания вектора или матрицы откройте вкладку Матрицы/таблицы. Когда курсор находится в пустой области щелкните по самой левой кнопке «Вставить матрицу». Появится сетка с маленькими квадратами:
Перемести указатель на сетку, выберите желаемый размер матрицы, затем щелкните левой кнопкой мыши. Появится пустая матрица:
Матрице можно присвоить имя, щелкнув на левую скобку, нажав [:] для оператора присваивания и введя имя:
Вставку и удаление строк и столбцов легко осуществлять с помощью команд из меню «Операторы с векторами/матрицами» на вкладке Матрицы и таблицы:
Операции с матрицами
Эффект от различных операций с матрицами и векторами будет проще понять, используя символы. Будем использовать две матрицы и два вектора:
Оператор транспонирования находится на вкладке Математика –> Операторы –> Векторы и матрицы:
Щелкните по правой границе матрицы и примените оператор. Он работает как для символьных, так и для числовых матриц:
Часто операции в векторами приходится совершать поэлементно. Для этого служит оператор векторизации. Операции в Excel зачастую являются поэлементными, они также важны и в Mathcad. Чтобы перемножить два вектора поэлементно, сначала введите простое умножение:
Затем выберите все выражение и примените векторизацию:
Вычислите, чтобы посмотреть результат: первый элемент умножается на первый, второй – на второй, и т.д.:
Другие поэлементные операции:
Поэлементные операции применимы только к массивам одного размера.
Сложение и вычитание
Сложение и вычитание выполняется поэлементно:
Эта операция также применима лишь к массивам одного размера.
С помощью оператора суммирования можно найти сумму всех элементов вектора (не матрицы):
Умножение на константу работает так:
При скалярном умножении матриц происходит умножение строк на столбцы. При этом используется тот же символ, что и при обычном умножении. Эта операция допустима только для тех матриц, в которых число строк в первой матрице равно числе столбцов во второй. Для наших матриц 2х2:
Заметьте, что последовательность множителей играет роль:
Скалярное произведение не коммутативно, за исключением особых случаев:
Скалярное произведение двух векторов дает результат с комплексно-сопряженными числами (с чертой сверху). Для действительных чисел на это можно не обращать внимания:
Этот оператор применим только для двух вектор-столбцов, состоящих из трех элементов:
Векторное произведение имеет широкое применение в механике, гидродинамике, электромагнетизме и в других областях.
Обратная матрица определяется только для квадратных матриц:
Произведение матрицы и ее обратной матрицы является единичной матрицей:
Произведение матрицы и единичной матрицы дает изначальную матрицу:
Определитель можно найти только для квадратной матрицы. Его значение может быть равно нулю, даже если все элементы матрицы не равны нулю. Обратная матрица содержит дроби, в знаменателе которых находится определитель:
Если определитель равен нулю, обратной матрицы не существует, а матрица является сингулярной. Вспомните деление на ноль в обычной алгебре. Mathcad сообщит, если матрица является сингулярной:
Для скаляра определитель равен его модулю:
Для вектора команда Определитель вычисляет длину вектора:
Резюме
В этом уроке мы рассмотрели векторы и матрицы (массивы).
Операции над векторами и матрицами, которые мы рассмотрели: