Как задать вектор в Mathcad (маткад)?
задаёт трехмерный вектор, все координаты которого равны 3. Элементы вектора можно отделять друг от друга пробелами или запятыми, записи [3 3 3] и [3,3,3] эквивалентны.
Иногда можно применять специальные приёмы для задания вектора (массива). Скажем, массив элементов с равным приращением можно задать так:
В первом случае массив будет содерэать все целые числа от 1 до 10 включительно, во втором — только чётные числа (потому что явно указано приращение — 2).
Как задать вектора в маткаде
Одиночное число в Mathcad называется скаляром. Столбец чисел называется вектором, а прямоугольная таблица чисел — матрицей. Общий термин для вектора или матрицы — массив.
Имеются три способа создать массив:
- Заполняя массив пустых полей, как обсуждается в этом разделе. Эта методика подходит для не слишком больших массивов.
- Используя дискретный аргумент, чтобы определить элементы с его помощью, как обсуждено в следующей главе. Эта методика подходит, когда имеется некоторая явная формула для вычисления элементов через их индексы.
- Считывая их из файлов данных.
Можно различать имена матриц, векторов и скаляров, используя различный шрифт для их написания. Например, во многих математических и инженерных книгах имена векторов пишутся жирным, а имена скалярных переменных — курсивом.
Вектор — массив или матрица, содержащая один столбец. Чтобы создать вектор в Mathcad, выполните следующее:
- Щёлкните в свободном месте или на поле.
- Выберите Матрицы из меню Математика или нажмите [Ctrl]M. Появляетс я диалоговое окно, как на рисунке справа.
- Укажите число строк, равное числу элементов вектора, в поле “Строк”. Например, чтобы создать вектор с тремя элементами, напечатайте 3.
- Напечатайте 1 в поле “Столбцов”, затем нажмите “Создать”. Mathcad создает вектор с пустыми полями для заполнения.
На следующем этапе нужно заполнить эти поля скалярными выражениями. Для этого выполните следующее:
- Щёлкните на верхнем поле и напечатайте 2.
- Переместите выделяющую рамку в следующее поле. Можно сделать это или клавишей [Tab], или щёлкнув непосредственно на втором поле.
- Напечатайте 3 во втором поле. Затем переместите выделяющую рамку в третье поле, и напечатайте 4.
Если понадобится создавать еще векторы, можно оставить диалоговое окно “Матрицы” открытым для дальнейшего использования.
Как только вектор создан, можно использовать его в вычислениях в точности так же, как и число. Например, чтобы добавить другой вектор к этому вектору, необходимо выполнить следующее:
- Нажмите [ ] несколько раз или щёлкните на любой из скобок вектора. Выделяющая рамка теперь заключает весь вектор. Это означает, что знак плюс, который будет напечатан, относится к вектору целиком, а не к какому-либо из элементов.
- Нажмите клавишу плюс (+). Mathcad показывает поле для второго вектора.
- Используйте диалоговое окно “Матрицы”, чтобы создать другой вектор с тремя элементами.
- Заполните этот вектор, щелкая в каждом поле и печатая числа, показанные справа. Можно также использовать [Tab], чтобы двигаться от одного элемента к другому.
- Нажмите знак =, чтобы увидеть результат.
Сложение — только одна из операций Mathcad, определенных для векторов и матриц. В Mathcad также есть вычитание матриц, умножение матриц, скалярное произведение, целочисленные степени, детерминанты и много других операторов и функций для векторов и матриц. Полные списки появляются в разделах “Векторные и матричные операторы” и “Векторные и матричные функции” ниже в этой главе.
Если Вы используете Mathcad PLUS, Вы сможете выполнить много символьных операций с матрицами. Подробнее об этом см.в Главе “Символьные вычисления”.
Чтобы создать матрицу, сначала щёлкните в свободном месте или на поле. Затем:
- Выберите Матрицы из меню Математика, или нажмите [Ctrl]M. Появится диалоговое окно.
- Введите число строк и столбцов в нужные поля. В этом примере матрица имеет две строки и три столбца. Затем нажмите на “Создать”. Mathcad создаст матрицу с пустыми полями.
- В завершение заполните поля, как описано в предыдущем разделе для векторов.
Можно использовать эту матрицу в формулах в точности так же, как и число или вектор.
Везде в настоящем руководстве термин вектор относится к вектору-столбцу. Вектор-столбец идентичен матрице с одним столбцом. Можно также создать вектор-строку, создав матрицу с одной строкой и многими столбцами. Операторы и функции, которые берут векторный аргумент, всегда ожидают вектор-столбец. Они не применимы к векторам-строкам. Чтобы превратить вектор-строку в вектор-столбец, используйте оператор транспонирования[Ctrl]1.
Изменение размера матрицы
Можно изменять размер матрицы, вставляя и удаляя строки и столбцы. Для этого необходимо выполнить следующее:
- Щёлкните на одном из элементов матрицы, чтобы заключить его в выделяющую рамку. Mathcad будет начинать вставку или удаление с этого элемента.
- Выберите Матрицы из меню Математика. Появляется диалоговое окно.
- Напечатайте число строк и-или столбцов, которые нужно вставить или удалить. Затем нажмите на “Вставить” или на “Удалить”. Например, чтобы удалить столбец, который содержит выбранный элемент, напечайте 1 в поле “Столбцов”, 0 в поле “Строк”, и нажмите на “Удалить”.
Вот как Mathcad будет удалять или вставлять строки или столбцы, в зависимости от того, что впечатывается в диалоговое окно:
- Если вставляются строки, Mathcad создает строки пустых полей ниже выбранного элемента. Если вставляются столбцы, Mathcad создает столбцы пустых полей справа от выбранного элемента.
- Чтобы вставить строку выше верхней строки или столбец слева от первого столбца, сначала заключите матрицу целиком в выделяющую рамку, щёлкнув внутри и нажав [ ] несколько раз. Затем выберите Матрицы и продолжите, как обычно.
- Когда строки или столбцы удаляются, Mathcad начинает со строки или столбца, занятых выбранным элементом. Mathcad удаляет строки вниз от этого элемента и столбцы — направо от этого элемента.
- Если напечатать 0 в поле “Строк”, Mathcad ни вставит, ни удалит строки. Если напечатать 0 в поле “Столбцов”, Mathcad ни вставит, ни удалит столбцы.
Обратите внимание, что при удалении строк или столбцов 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 |
Поэлементный ввод матрицы А
| Вводимые символы | Отображаемые символы |
| A [ 1,1 Shift+: 0.1 | A11 := 0.1 |
| A [ 1,2 Shift+: -2.5 | A12 := -2.5 |
| A [ 2,1 Shift+: -1.0 | A21 := -1.0 |
| A [ 2,2 Shift+: 5.2 | A22 := 5.2 |

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

ПанельMatrix содержит следующие кнопки:

– определение размеров матрицы;
– ввод элемента массива
;
– вычисление матрицы, обратной к данной
;
– вычисление определителя матрицы
;
– оператор векторизации (поэлементные операции с векторами и матрицами)
;
– определение столбца матрицы
;
– транспонирование матрицы
;

– определение ранжированной переменной;

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

– вычисление векторного произведения векторов;

– вычисление суммы компонент вектора.

– визуализация цифровой информации.

Действия, которые необходимо выполнить, чтобы ввести матрицу в рабочий документ при помощи кнопки панели Matrix:
1. Ввести с клавиатуры имя матрицы и знак присваивания;

2. Щелчком по кнопке открыть окно диалога:

3. Определить число строк (Rows) и число столбцов (Columns) будущей матрицы;
4. Закрыть окно диалога, щелкнув по кнопке OK;
5. Ввести элементы матрицы, установив курсор в поле ввода, которое появится справа от знака присваивания:




Функции определения матриц и операции с блоками матриц:
matrix(m,n,f) – создает и заполняет матрицу A= размерности m на n, каждый элемент которой aij равен значению функции f(i,j);
diag(v) – создает диагональную матрицу, элементы главной диагонали которой хранятся в векторе v;
identity(n) – создает единичную матрицу порядка n;
augment(A,B) – из матриц А и В формируется третья матрица, первые столбцыкоторой содержат матрицу А, а последние — матрицу В (матрицы А и В должны иметь одинаковое число строк);
stack(A,B) – из матриц А и В формируется третья матрица, первые строкикоторой содержат матрицу А, а последние — матрицу В (матрицы А и В должны иметь одинаковое число столбцов);
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 – верхняя треугольная матрицы;
cholesky(A) – выполняет разложение матрицы А по схеме Холецкого: А=L∙L T , где А — квадратная, симметричная, положительно определенная матрица, L – треугольная матрица;
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+.).
Векторы и матрицы в MathСad
Вы уже наверняка не раз сталкивались с такими понятиями как векторы и матрицы. Вектор – это обыкновенный столбец с числами. Матрица представляет собой сборный блок с объектами. Именно на работе с этими элементами построен принцип функционирования программы Excel. В этом уроке мы расскажем о том, как работать с такими вычислениями в программе Маткад и акцентируем внимание на том, почему процесс работы в данном ПО куда проще и удобнее.
Мы уже рассказывали в своих уроках о том, что все наши векторы начинались с элемента с нулевым значением. Сейчас же мы поставим номером первого элемента цифру один, ведь так нам гораздо проще будет сориентироваться в учебном материале.

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

Происходит завершение установки. Программа автоматически открывается и скачивает нужные Вам исходные файлы.
Обратите внимание, что предоставляемое программное обеспечение выкладывается исключительно для личного использования и ознакомления. Все файлы, доступные для скачивания, не содержат вирусов и вредоносных программ.
Как задать вектор в маткаде
Маткад – это мощное программное средство для решения математических задач. Одной из базовых операций в Matcad является работа с векторами. Вектор – это набор чисел, которые располагаются в одном измерении.
Создание вектора в программе Маткад начинается с объявления переменной, которая будет хранить вектор. Для этого нужно выбрать имя переменной и указать размерность вектора. Вектор может быть как строкой, так и столбцом.
Кроме того, можно инициализировать значения вектора сразу при объявлении переменной. Для этого после указания размерности нужно записать значения в скобках через запятую.
Создание вектора
В программе Маткад создание вектора начинается с ввода имени вектора и символа «:». Например, чтобы создать вектор x размерности 3, нужно написать:
x :
| 1 | 2 | 3 |
Затем нужно ввести значения элементов вектора, разделяя их запятыми. Например, чтобы создать вектор a с элементами (1, 2, 3), нужно написать:
a : 1, 2, 3;
Можно также задавать вектор с помощью функции seq (sequence), которая создает последовательность элементов от начального до конечного значения с определенным шагом. Например, чтобы создать вектор b со значениями от 0 до 10 с шагом 2, нужно написать:
b := seq(i, i, 0, 10, 2);
Здесь i — переменная, которая принимает значения от начального значения (0) до конечного (10) с заданным шагом (2).
Также можно задавать вектор с помощью списка в квадратных скобках. Например, чтобы создать вектор c с элементами (4, 5, 6), нужно написать:
c := [4, 5, 6];
В результате созданные векторы можно использовать в дальнейших вычислениях и операциях.
Заполнение вектора
В программе Маткад можно заполнить вектор несколькими способами. Рассмотрим основные из них:
-
Ввод вручную: Кликните по ячейке вектора, введите значение и нажмите клавишу «Enter». После этого курсор перейдет на следующую ячейку вектора.
Также можно использовать различные математические функции для заполнения вектора, такие как «sin», «cos» или «sqrt». Например, создайте вектор, содержащий значения синуса от 0 до 2π с интервалом 0,1 с помощью команды «sin(seq(0,0.1,2π))».
Необходимо убедиться, что длина вектора соответствует заданным требованиям.
Операции над вектором
Вектор — это один из основных объектов, с которыми работают в программе Маткад. Вектор может содержать элементы одного типа — строки, столбцы или числовые значения — и их размерность может быть любой. Для работы с векторами в Маткаде существуют различные операции, которые помогают выполнять математические действия соответствующим образом.
Операция сложения векторов позволяет складывать между собой векторы. При этом векторы могут быть разных размеров, но одной размерности. Для сложения векторов используется знак «+».
Операция вычитания векторов позволяет вычитать из одного вектора другой. Правила вычитания такие же, как и для сложения, только используется знак «-» вместо «+».
Операция умножения вектора на число позволяет умножать каждый элемент вектора на заданное число. Для умножения вектора на число используется знак «*», за которым следует число, на которое нужно умножить вектор.
Операция скалярного произведения векторов позволяет вычислить числовое значение, которое равно сумме произведений соответствующих элементов двух векторов. Для вычисления скалярного произведения используется функция «dotproduct».
Операция векторного произведения векторов позволяет вычислить вектор, перпендикулярный обоим заданным векторам. Для вычисления векторного произведения используется функция «crossproduct».
Вопрос-ответ:
Как задать вектор в Маткаде?
В Маткаде вектор задается с использованием квадратных скобок, например: a := [1, 2, 3].
Какие операции можно выполнять со векторами в Маткаде?
В Маткаде с векторами можно выполнять операции сложения, вычитания, умножения на число, скалярное произведение и векторное произведение.
Можно ли задать вектор в Маткаде с помощью цикла?
Да, в Маткаде можно задать вектор с помощью цикла, например: for i := 1 to 5 do a[i] := i. В этом примере вектор a будет содержать элементы от 1 до 5.
Какой тип данных используется для хранения векторов в Маткаде?
В Маткаде для хранения векторов используется матрица, где вектор заполняет одну из строк или столбцов.
Можно ли задать пустой вектор в Маткаде?
Да, пустой вектор можно задать следующим образом: a := [].
Как задать вектор в маткаде
задаёт трехмерный вектор, все координаты которого равны 3. Элементы вектора можно отделять друг от друга пробелами или запятыми, записи [3 3 3] и [3,3,3] эквивалентны.
Иногда можно применять специальные приёмы для задания вектора (массива). Скажем, массив элементов с равным приращением можно задать так:
В первом случае массив будет содерэать все целые числа от 1 до 10 включительно, во втором — только чётные числа (потому что явно указано приращение — 2).
Векторы и матрицы в 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 |
Поэлементный ввод матрицы А
| Вводимые символы | Отображаемые символы |
| A [ 1,1 Shift+: 0.1 | A11 := 0.1 |
| A [ 1,2 Shift+: -2.5 | A12 := -2.5 |
| A [ 2,1 Shift+: -1.0 | A21 := -1.0 |
| A [ 2,2 Shift+: 5.2 | A22 := 5.2 |


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

ПанельMatrix содержит следующие кнопки:

– определение размеров матрицы;
– ввод элемента массива
;
– вычисление матрицы, обратной к данной
;
– вычисление определителя матрицы
;
– оператор векторизации (поэлементные операции с векторами и матрицами)
;
– определение столбца матрицы
;
– транспонирование матрицы
;

– определение ранжированной переменной;

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

– вычисление векторного произведения векторов;

– вычисление суммы компонент вектора.

– визуализация цифровой информации.

Действия, которые необходимо выполнить, чтобы ввести матрицу в рабочий документ при помощи кнопки панели Matrix:
1. Ввести с клавиатуры имя матрицы и знак присваивания;

2. Щелчком по кнопке открыть окно диалога:

3. Определить число строк (Rows) и число столбцов (Columns) будущей матрицы;
4. Закрыть окно диалога, щелкнув по кнопке OK;
5. Ввести элементы матрицы, установив курсор в поле ввода, которое появится справа от знака присваивания:




Функции определения матриц и операции с блоками матриц:
matrix(m,n,f) – создает и заполняет матрицу A= размерности m на n, каждый элемент которой aij равен значению функции f(i,j);
diag(v) – создает диагональную матрицу, элементы главной диагонали которой хранятся в векторе v;
identity(n) – создает единичную матрицу порядка n;
augment(A,B) – из матриц А и В формируется третья матрица, первые столбцыкоторой содержат матрицу А, а последние — матрицу В (матрицы А и В должны иметь одинаковое число строк);
stack(A,B) – из матриц А и В формируется третья матрица, первые строкикоторой содержат матрицу А, а последние — матрицу В (матрицы А и В должны иметь одинаковое число столбцов);
submatrix(A,l,k,p,r) – формирует матрицу, которая является блоком матрицы А, расположенным в строках с l по k и в столбцах с p по r (l, p);
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 – верхняя треугольная матрицы;
cholesky(A) – выполняет разложение матрицы А по схеме Холецкого: А=L∙L T , где А — квадратная, симметричная, положительно определенная матрица, L – треугольная матрица;
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+.).
MathCAD — это просто! Часть 10. Работа с векторами и матрицами
Снова здравствуйте. Мы с вами успели вполне успешно закончить со школьной алгеброй, и, значит, можем переходить к более сложным вещам — например, к тому разделу математики, который в университетах обычно называют линейной алгеброй. Конечно, раздел этот весьма и весьма обширен, и нечего даже думать о том, чтобы охватить хотя бы большую его часть. Тем не менее, нам с вами, я так думаю, кое-что из него научиться использовать практически вполне по силам — к примеру, мы можем научиться работать в MathCAD’е с векторами и матрицами. Эти два понятия — важнейшие математические абстракции, роль которых трудно переоценить в научно-техническом прогрессе. Ведь именно применение векторов и векторного анализа позволило в свое время Оливеру Хевисайду сократить количество уравнений Максвелла, описывающих электромагнитное поле, с двух десятков до всего лишь четырех. До векторного анализа, я так думаю, мы с вами в свое время еще доберемся, ну, а пока займемся более прозаическими вещами. Какими именно? Думаю, все станет ясно, если вы продолжите читать эту статью.
Немного об элементах матриц
Хотя дальше мы будем иметь дело и с векторами, и с матрицами, я краткости ради буду говорить просто «матрица», подразумевая, что под вектором мы будем иметь в виду частный случай матрицы, а именно ту ее разновидность, которая представляет собой одиночный столбец. Если же вектор будет представлять собой строку, то это будет специально оговорено. Впрочем, думаю, до этого дело вряд ли дойдет. С матрицами, вообще говоря, мы с вами работать уже немного умеем. Ну, не то чтобы прямо так вот работать — по крайней мере, вводить их в MathCAD’е мы уже вводили. Тем не менее, думаю, будет не лишним напомнить, что ввести в рабочую область матрицу можно с помощью кнопки Matrix or Vector, расположенной на панели Matrix, либо с помощью сочетания горячих клавиш Ctrl+M. Впрочем, мы с вами пока не затрагивали один небольшой, но крайне важный момент, а именно как обращаться в вычислениях не к матрице целиком, а к отдельным ее элементам. Сделать это, на самом деле, очень просто. Пусть у нас задана квадратная матрица X размером два на два элемента. Верхний левый элемент будет иметь индексы 0,0; нижний правый, соответственно, будет иметь индексы 1,1. То есть, как видите, элементы матрицы нумеруются с нуля. Это, в общем-то, довольно удобно, однако, если для вас привычнее нумеровать их с единицы, или, скажем, с 1024-х, то можно поменять значение встроенной переменной ORIGIN, введя в самом начале документа MatchCAD в строку (без кавычек). Или, соответственно, «ORIGIN := 1024». Можно поменять значение переменной и в окне опций MathCAD’а, выбрав в меню Tools пункт Worksheet options и на вкладке Built-In Variables поменяв значение переменной ORIGIN на нужное вам.
Так вот, вернемся к нашим элементам матрицы. Чтобы «вынуть» из нее первый элемент, нужно написать следующее: X0, 0. Для того, чтобы записать индексы внизу от имени переменной, которая обозначает матрицу, можно воспользоваться кнопкой Subscript со все той же панели инструментов для матричных и векторных вычислений или с клавиатуры перейти в нижний индекс клавишей «[» (русское «х»). Обратите внимание, что для разделения индексов, обозначающих строку и столбец, используется запятая. Элементы матрицы можно не только извлекать из матрицы, заданной таблично. Вы можете задать несколько элементов с соответствующими индексами по ходу вычисления, а после уже MathCAD самостоятельно сформирует из них матрицу (но только когда вы зададите уже все ее элементы — в противном случае незаданным элементам будут присвоены нулевые значения). Вы можете использовать ранжированные переменные для задания элементов матрицы. Временами это бывает не просто удобно, а очень удобно. Так, к примеру, можно задать для матрицы X следующую формулу, описывающую значения каждого ее элемента i-й строки и j-го столбца: Xi, j := i * j. Перед таким определением элементов матрицы остается только определить диапазон, в котором будут изменяться i и j. Я для примера взял значения i := 0..5 и j := 0..5, но вы, конечно же, можете установить любой другой нужный вам диапазон в зависимости от требований вашей задачи, решаемой с помощью матриц в среде MathCAD.
Операции над матрицами
Конечно, у применения матриц в реальных задачах существует множество интересных и не очень аспектов, однако все они рано или поздно упираются в необходимость проведения с матрицами простых алгебраических операций. Проводить их вручную — задача трудоемкая, и можно потратить время с гораздо большей пользой, переложив рутинную работу на MathCAD. Для начала познакомимся с теми функциями, которые собственно никаких математических операций не выполняют, но при этом являются весьма важными в действиях с матрицами. Эти функции позволяют объединять две матрицы в одну (не складывать матрицы, а просто объединять их элементы) и выделять из матрицы другую матрицу. Первая из функций — augment. Она объединяет две матрицы, имеющие одинаковое число строк, таким образом, что из них образуется одна, в которой элементы этих двух располагаются, что называется, «плечом к плечу». В качестве аргументов этой функции нужны только две объединяемые матрицы. Ее аналог для тех матриц, которые имеют одинаковое число столбцов, и должны быть объединены одна над другой, является функция stack. Ее аргументами тоже должны быть две объединяемые матрицы. Функция же, которая не объединяет, а, напротив, «разрезает» матрицы, имеет название submatrix. Для нее нужно указывать имя матрицы, из которой мы хотим выделить подматрицу, и координаты элементов новой матрицы в старой матрице. То есть для того, чтобы вырезать матрицу 4х4 из верхних левых элементов матрицы размером 5х5, нам нужно вызывать эту функцию со следующими параметрами: submatrix(Y, 0, 4, 0, 4). Здесь Y — это, конечно же, имя матрицы размером 5х5 элементов. Демонстрацию использования всех этих функций применительно к конкретным матрицам можно увидеть на соответствующей иллюстрации к статье.
Теперь, я так думаю, самое время перейти уже к арифметическим операциям над матрицами. Вы увидите, что их использование в MathCAD не потребует от вас никаких специальных знаний в области линейной алгебры — не считая, конечно, общих представлений о том, как работают матричные операции, для понимания того, что может получиться в их итоге. MathCAD хорош для пользователя тем, что позволяет ему работать с векторами и матрицами точно так же, как с обычными скалярами, сиречь переменными, содержащими исключительно и только действительные числа. Попробуйте задать две матрицы (я их назвал aa и bb), а затем применить к ним операцию сложения точно так же, как когда-то применяли ее к обыкновенным числам. Конечно, для того, чтобы матрицы можно было складывать, они должны иметь одинаковые размеры. Точно так же можете попробовать вычесть из одной матрицы другую или перемножить их. Вы увидите, что MathCAD успешно справляется с подобными задачами, не напрягая пользователя излишними вычислениями.
Транспонировать матрицы в MathCAD’е ничуть не сложнее, чем их складывать или перемножать. Вычислять обратные матрицы, впрочем, тоже. Во всех этих задачах помогут соответствующие операторы с Они обозначены на ней теми же значками, что и в учебниках по линейной алгебре, а потому пользователю, хотя бы минимально знакомому с матричным исчислением, все должно быть просто и понятно. Нужно только помнить, что нельзя вычислить обратную матрицу для той матрицы, которая является вырожденной (то есть имеет нулевые или пропорциональные друг другу строки или столбцы). Для того, чтобы не останавливаться излишне подробно на этих простых операциях, просто приведу иллюстрацию, демонстрирующую их практическое использование. Думаю, у читателей не возникнет никаких проблем ни с транспонированием, ни с вычислением обратной матрицы с помощью MathCAD.
Еще одной часто выполняемой операцией является вычисление детерминанта, или определителя матрицы. Думаю, что совсем не огорчу вас известием о том, что в MathCAD и с определителями работать так же просто, как и со всем остальным, связанным с матрицами. За его вычисление отвечает кнопка Determinant, расположенная, конечно же, на панели Matrix. Поскольку детерминант в MathCAD’е, как и вообще в линейной алгебре, обозначается с помощью символов прямых черт, ограничивающих матрицу (или имя переменной, ее обозначающей), то вполне логично, что вставить эти самые прямые черты в текст выражения можно с помощью соответствующей клавиши на клавиатуре: Shift + \. Думаю, этой несложной комбинацией будет пользоваться все же удобнее, чем искать каждый раз нужную кнопку на панели инструментов MathCAD’а.
Внешний вид матриц
Мы с вами, конечно же, далеко еще не закончили свое знакомство с матрицами в MathCAD’е, однако, думаю, на сегодня уже непосредственной математики хватит. В конце статьи я лучше расскажу о том, как можно изменить способ отображения матриц в среде MathCAD — возможно, кому-то из читателей этой статьи эта информация будет полезной и небезынтересной.
Дело в том, что MathCAD может отображать матрицы не только в привычном всем виде чисел, заключенных в скобки, но и в виде таблиц. Если вы используете этот математический пакет для каких-либо статистических расчетов и при этом работаете с большими массивами данных, то, безусловно, такое отображение матриц будет более предпочтительным для вас, чем традиционное. Для изменения способа отображения матриц дважды кликните по нужной матрице и в появившемся окне перейдите на вкладку Display Options. Далее в поле Matrix display style выберите значение Table. Матрица приобретет вид точно такой, как на соответствующей иллюстрации к этой статье.
Внешний вид таблицы можно также настроить далее, кликнув по ней правой кнопкой мыши и выбрав пункт Properties. В появившемся окне можно снять птичку с пункта Show column/row labels, чтобы убрать отображение нумерации строк и столбцов в матрице, представляемой в виде таблицы. На вкладке Data Range можно выбрать диапазон отображаемых строк и столбцов матрицы, что также полезно для матриц, содержащих большое количество элементов.
Ну что ж, на сегодня, думаю, достаточно. Это только начало работы с матрицами — в следующий раз мы поговорим о гораздо более интересных вещах, чем просто сложение, транспонирование и вычисление детерминанта.
SF, spaceflyer@tut.by
Компьютерная газета. Статья была опубликована в номере 23 за 2008 год в рубрике soft
Похожие публикации:
- Как отвязать mi band 4 от телефона без телефона
- Как отключить поиск в адресной строке chrome
- Как открыть файл exe на айфоне
- Как перевести текст в кривые в индизайне
