Задать матрицу в mathcad. Операции с матрицами

Практическая работа № 3

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

Предварительно матрицу нужно определить и ввести в рабочий документ MathCAD.

Для того чтобы определить матрицу, введите с клавиатуры имя матрицы и знак присваивания (+<:>). Затем откройте панель операций с матрицами и нажмите кнопку «Создать матрицу или вектор» или выберите в меню Вставка (Insert) команду Матрицу (Matix) . В окне диалога введите число строк и столбцов и заполните значениями поле ввода матрицы.

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

За кнопками на панели инструментов Матрицы закреплены следующие функции:

· определение размеров матрицы

· X n – ввод нижнего индекса

· X -1 – вычисление обратной матрицы

· |X| - вычисление определителя матрицы: ; вычисление длины вектора

· поэлементные операции с матрицами: если , то

· M <> – определение столбца матрицы: M < j> - j-й столбец матрицы

· M T – транспонирование матрицы:

· - вычисление скалярного произведения векторов:

· - вычисление векторного произведения двух векторов:

· - вычисление суммы компонент вектора: ;

· - определение диапазона изменения переменной

· визуализация цифровой информации, сохраненной в матрице.

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

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

Функции определения матриц и операции с блоками матриц:

· matrix(m, n, f) – создает и заполняет матрицу размерности m x n, элемент которой, расположенный в i-ой строке, j-ом столбце, равен значению f(i,j) функции f(x,y);

· diag(v) – создает диагональную матрицу, элементы главной диагонали хранятся в векторе v;

· identity(n) – создает единичную матрицу порядка n;

· augment(A, B) – формирует матрицу, в первых столбцах которой содержится матрица A, а в последних – матрица B (матрицы A и B должны иметь одинаковое число строк);

· stack(A, B) – формирует матрицу, в первых строках которой содержится матрица A, а в последних – матрица B (матрицы A и B должны иметь одинаковое число столбцов);

· submatrix(A, ir, jr, ic, jc) – формирует матрицу, которая является блоком матрицы A, расположенным в строках с ir по jr и в столбцах с ic по jc (ir<=jr, ic<=jc).

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

Функции вычисления различных числовых характеристик матриц:

· last(v) – вычисление номера последней компоненты вектора V;

· length(v) – вычисление количества компонент вектора V;

· rows(A) – вычисление числа строк в матрице A;

· cols(A) – вычисление числа столбцов в матрице A;

· max(A) – вычисление наибольшего элемента в матрице A;

· min(A) – вычисление наименьшего элемента в матрице A;

· tr(A) – вычисление следа квадратной матрицы A (след матрицы равен сумме ее диагональных элементов);

· rank(A) – вычисление ранга матрицы A;

· norm1(A), norm2(a), norme(A), normi(A) – вычисление норм квадратной матрицы A.

Функции, реализующие численные алгоритмы решения задач линейной алгебры:

· rref(A) – приведение матрицы к ступенчатому виду с единичным базисным минором (выполняются элементарные операции со стоками матрицы);

· eigenvals(A) – вычисление собственных значений квадратной матрицы A;

· eigenvecs(A) – вычисление собственных векторов квадратной матрицы A; значением функции является матрица, столбцы которой есть собственные векторы матрицы A, причем порядок следования векторов отвечает порядку следования собственных значений, вычисленных функцией eigenvals(A);

· eigenvec(A, l) – вычисление собственного вектора матрицы A, отвечающего собственному значению l;

· lsolve(A, b) – решение системы линейных алгебраических уравнений Ax=b.

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

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

Имя функции можно вставить из списка: щелкните по месту вставки, затем по строке Функция (Function) меню Вставка (Insert) , выберите в окне списка стрелками прокрутки нужную функцию и подтвердите выбор щелчком по кнопке OK в окне диалога.

Вычисления могут производиться в двух режимах – автоматическом и последовательном. В первом случае операция выполняется сразу после ввода команды и щелчка по рабочему документу вне выделяющей рамки, во втором – после команды Вычислить (Calculate) . Режим вычислений устанавливается в меню Математика (Math) . По умолчанию включен режим автоматических вычислений.

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

Задание

1. Создать матрицу А заданной размерности n*m (матрицу заполнить самостоятельно).

2. Транспонировать матрицу А.

3. Вычленить из матрицы А i-ый и j-ый столбцы и найти их сумму и скалярное произведение.

4. Применить к каждому элементу матрицы А функцию z(x).

Указания

1. В начале работы переменной ORIGIN присвоить значение 1. Для выполнения операций над матрицей пользоваться панелью инструментов Матрицы , для вставки функций пользоваться меню Вставка Функция или соответствующей кнопкой панели инструментов Стандартная .

2. Для выполнения 4 задания необходимо:

· Записать функцию z(x) в общем виде.

· Переменным i и j присвоить диапазоны значений: .

· Вычислить элементы новой матрицы Z как значения функции z(x), где в качестве переменной x подставляется элемент матрицы A: .

· Просмотреть полученную матрицу Z (набрать с клавиатуры Z=).

3. Для записи функции, заданной с условиями необходимо:

· Записать диапазон изменения аргументов x и y: (значения n и m должны быть описаны выше).

· Записать «f(x,y):=», затем на панели инструментов «Программирование » нажать кнопку «Add line ». В поле ввода функции появится вертикальная черта с метками для ввода.

· В верхней метке набрать первое значение функции, а затем нажать кнопку «if », появится служебное слово if и метка для ввода условия. Для применения логической операции «И» для нескольких логических выражений ставится знак «*», а для операции «ИЛИ» – знак «+».

· В нижней метке набрать второе значение функции и нажать кнопку «otherwise » (иначе). Щелкнуть за пределами поля ввода функции для завершения записи.

4. Для исследования однородной системы уравнений необходимо вычислить определитель матрицы коэффициентов. Если определитель не равен 0, то система нетривиально совместна и имеет более одного решения (в том числе нулевые). Справедливо также утверждение: для того, чтобы однородная система была нетривиально совместна, необходимо и достаточно, чтобы ранг матрицы системы был меньше числа неизвестных n. Таким образом, если |C|≠0 и rank(C)≤n, то система тривиально совместна и имеет только одно нулевое решение.

5. Для вставки текстовых комментариев выберите в меню Вставка пункт Текстовая область или нажмите сочетание клавиш +<”>.


Варианты заданий.

Вариант 1

Размерность матрицы А 3*4.

Вариант 2

Размерность матрицы А 5*3.

;

Вариант 3

Размерность матрицы А 4*4.

Вариант 4

Размерность матрицы А 7*4.

;

Вариант 5

Размерность матрицы А 7*8.

Вариант 6

Размерность матрицы А 7*7.

;

Вариант 7

Размерность матрицы А 7*8.

Вариант 8

Размерность матрицы А 7*5.

Вариант 9

Размерность матрицы А 5*7.

;

Вариант 10

Размерность матрицы А 5*4.

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

Определитель (Determinant ) матрицы обозначается стандартным математическим символом. Чтобы ввести оператор нахождения определителя матрицы, можно нажать кнопку Determinant (Определитель) на панели инструментов Matrix (Матрица) (листинг 7.14) или набрать на клавиатуре | (нажав клавиши SHIFT + \ ). В результате любого из этих действий появляется местозаполнитель, в который следует поместить матрицу. Чтобы вычислить определитель уже введенной матрицы:

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

Внимание!
Не путайте операторы вычисления определителя квадратной матрицы и длины вектора. В Matncad 12 введен принудительный контроль действий пользователя при вводе этих операторов во избежание путаницы (т. к. один и тот же символ используется для этих двух операций). При попытке вычислить определитель матрицы с помощью оператора |А| , введенного с панели Calculator (Калькулятор), а не Matrix (Матрица), будет выдано сообщение об ошибке, а результат вычисления детерминанта появится только после того, как пользователь вызовет контекстное меню и подтвердит в нем, что он собирается вычислить именно определитель матрицы. То же самое касается и длины вектора, если попытаться ввести его не с панели Calculator (Калькулятор), а с панели Matrix (Матрица)
.

Снова здравствуйте. Мы с вами успели вполне успешно закончить со школьной алгеброй, и, значит, можем переходить к более сложным вещам - например, к тому разделу математики, который в университетах обычно называют линейной алгеброй. Конечно, раздел этот весьма и весьма обширен, и нечего даже думать о том, чтобы охватить хотя бы большую его часть. Тем не менее, нам с вами, я так думаю, кое-что из него научиться использовать практически вполне по силам - к примеру, мы можем научиться работать в 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 можно выбрать диапазон отображаемых строк и столбцов матрицы, что также полезно для матриц, содержащих большое количество элементов.

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

Практическая работа № 3

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

Предварительно матрицу нужно определить и ввести в рабочий документ MathCAD.

Для того чтобы определить матрицу, введите с клавиатуры имя матрицы и знак присваивания (+<:>). Затем откройте панель операций с матрицами и нажмите кнопку «Создать матрицу или вектор» или выберите в меню Вставка (Insert) команду Матрицу (Matix) . В окне диалога введите число строк и столбцов и заполните значениями поле ввода матрицы.

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

За кнопками на панели инструментов Матрицы закреплены следующие функции:

· определение размеров матрицы

· X n – ввод нижнего индекса

· X -1 – вычисление обратной матрицы

· |X| - вычисление определителя матрицы: ; вычисление длины вектора

· поэлементные операции с матрицами: если , то

· M <> – определение столбца матрицы: M < j> - j-й столбец матрицы

· M T – транспонирование матрицы:

· - вычисление скалярного произведения векторов:

· - вычисление векторного произведения двух векторов:

· - вычисление суммы компонент вектора: ;

· - определение диапазона изменения переменной

· визуализация цифровой информации, сохраненной в матрице.

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

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

Функции определения матриц и операции с блоками матриц:

· matrix(m, n, f) – создает и заполняет матрицу размерности m x n, элемент которой, расположенный в i-ой строке, j-ом столбце, равен значению f(i,j) функции f(x,y);

· diag(v) – создает диагональную матрицу, элементы главной диагонали хранятся в векторе v;

· identity(n) – создает единичную матрицу порядка n;

· augment(A, B) – формирует матрицу, в первых столбцах которой содержится матрица A, а в последних – матрица B (матрицы A и B должны иметь одинаковое число строк);

· stack(A, B) – формирует матрицу, в первых строках которой содержится матрица A, а в последних – матрица B (матрицы A и B должны иметь одинаковое число столбцов);

· submatrix(A, ir, jr, ic, jc) – формирует матрицу, которая является блоком матрицы A, расположенным в строках с ir по jr и в столбцах с ic по jc (ir<=jr, ic<=jc).

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

Функции вычисления различных числовых характеристик матриц:

· last(v) – вычисление номера последней компоненты вектора V;

· length(v) – вычисление количества компонент вектора V;

· rows(A) – вычисление числа строк в матрице A;

· cols(A) – вычисление числа столбцов в матрице A;

· max(A) – вычисление наибольшего элемента в матрице A;

· min(A) – вычисление наименьшего элемента в матрице A;

· tr(A) – вычисление следа квадратной матрицы A (след матрицы равен сумме ее диагональных элементов);

· rank(A) – вычисление ранга матрицы A;

· norm1(A), norm2(a), norme(A), normi(A) – вычисление норм квадратной матрицы A.

Функции, реализующие численные алгоритмы решения задач линейной алгебры:

· rref(A) – приведение матрицы к ступенчатому виду с единичным базисным минором (выполняются элементарные операции со стоками матрицы);

· eigenvals(A) – вычисление собственных значений квадратной матрицы A;

· eigenvecs(A) – вычисление собственных векторов квадратной матрицы A; значением функции является матрица, столбцы которой есть собственные векторы матрицы A, причем порядок следования векторов отвечает порядку следования собственных значений, вычисленных функцией eigenvals(A);

· eigenvec(A, l) – вычисление собственного вектора матрицы A, отвечающего собственному значению l;

· lsolve(A, b) – решение системы линейных алгебраических уравнений Ax=b.

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

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

Имя функции можно вставить из списка: щелкните по месту вставки, затем по строке Функция (Function) меню Вставка (Insert) , выберите в окне списка стрелками прокрутки нужную функцию и подтвердите выбор щелчком по кнопке OK в окне диалога.

Вычисления могут производиться в двух режимах – автоматическом и последовательном. В первом случае операция выполняется сразу после ввода команды и щелчка по рабочему документу вне выделяющей рамки, во втором – после команды Вычислить (Calculate) . Режим вычислений устанавливается в меню Математика (Math) . По умолчанию включен режим автоматических вычислений.

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

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

Все встроенные средства пакета MathCAD, предназначенные для работы с матрицами собраны на Панели векторов и матриц (vector and matrix toolbar). Задавать матрицу можно либо вставив с панели матриц шаблон нужного размера и заполнив его числами, либо присваивая каждому элементу матрицы его значение (обычно это производится в цикле). Если элемент массива (матрицы) имеет несколько индексов (порядковый номер элемента), то они указываются через запятую. Для элементов матрицы первым идёт номер строки, вторым - номер столбца. Индексация массивов по умолчанию начинается с нуля, однако есть возможность управлять этим процессом. Номер первого элемента хранится в предопределённой переменной ORIGIN, значение которой можно менять. Встретив присвоение ORIGIN:=k, MathCAD будет все встречающиеся ниже массивы нумеровать, начиная с номера k. Любое обращение к элементу с меньшим номером будет вызывать сообщение об ошибке.

Для ввода матрицы (или вектора) требуется проделать следующую последовательность операций:

Задаём имя матрицы и вводим знак присваивания. Например, для задания матрицы А пишем А:. Получаем А:=;

С помощью команды Insert -> Matrix…, или комбинации клавиш Ctrl + M, или щелчком на кнопке панели Матрица, заполнив массив пустых полей для не слишком больших массивов.

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

Формирование вектора осуществляется аналогично.

Следует отметить второй вариант формирования матриц и векторов без обращения к окну работы с матрицами, а через переменные с индексами, например, Ai,j, Bi. Индекс к имени переменной припечатывается нажатием либо на кнопку Xn на панели математических инструментов, либо на клавишу [(открывающаяся квадратная скобка).

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

ORIGIN:=1 определяем номер первого элемента

формируем матрицу А

формируем матрицу В

решаем матричное уравнение АХ=В

вывод решения

проверка

|A|=-2 находим определитель

обратная матрица

ORIGIN:=0 определяем номер первого элемента

А0,0:=1 А0,1=1 формируем матрицу А

А0,0:=5 А0,1=3

В0:=138 В1=540 формируем матрицу В

X:=lsole(A,B) решаем матричное уравнение АХ=В

Х0=63 Х1=75 вывод решения

А0,0Х0+А0,1Х1-В0=0 проверка

А1,0Х0+А1,1Х1-В1=0.

Вычисления с векторами и матрицами.

Векторные матричные операторы.

Для работы с векторами и матрицами система MathCAD содержит ряд операторов и функций. Введём следующие обозначения: для векторов - V, для матриц - M, и для скалярных величин - Z.

Оператор

Назначение оператора

Сложение двух векторов V1 и V2

Вычитание двух векторов V1и V2

Смена знака у элементов вектора V

Смена знака у элементов матрицы M

Вычитание из вектора V скаляра Z

Умножение вектора V на скаляр Z

Умножение двух векторов V1 и V2

Умножение матрицы M на вектор V

Умножение двух матриц M1 и M2

Деление вектора V на скаляр Z

Деление матрицы M на скаляр Z

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

Возведение матрицы M в степень n

Вычисление квадратного корня из мV

Вычисление определителя матрицы M

Транспонирование вектора V

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

Кросс - умножение двух векторов V1 и V2

Получение комплексно - сопряженного вектора

Получение комплексно - сопряженной матрицы

Вычисление суммы элементов вектора V

Векторизация вектора V

Векторизация матрицы M

Выделение n-го столбца матрицы M

Выделение n-го элемента вектора V

Выделение элемента (m, n) матрицы M

фильтр excel строка матрица

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

Если А и В - векторы, то А*В даёт скалярное произведение этих векторов. Но то же произведение под знаком векторизации создает новый вектор, каждый j-й элемент которого есть произведение j -х элементов векторов А и В. Векторизация позволяет использовать скалярные операторы и функции с массивами.

Векторные и матричные функции.

Существует также ряд встроенных векторных и матричных функций:

возвращает длину вектора

возвращает индекс последнего элемента

возвращает максимальный по значению элемент

возвращает минимальный по значению элемент

возвращает вектор действительных частей вектора с комплексными элементами

возвращает вектор мнимых частей вектора с комплексными элементами

полностью асимметричный тензор размерности три. i, j, k должны быть целыми числами от 0 до 2 (или между >ORIGIN и ORIGIN+2, если ORIGIN?0). Результат равен 0, если любые два аргумента равны, 1 - если три аргумента являются чётной перестановкой (0, 1, 2), и минус 1, если три аргумента являются перестановкой (0, 1, 2), кратной 2 и некратной 4

Для работы с матрицами также существует ряд встроенных функций. Они перечислены ниже:

Augment (M1, M2)

Объединяет в одну матрицы М1 и М2, имеющие одинаковое число строк (объединение идёт “бок о бок”)

Создаёт единичную квадратную матрицу размером n*n

Объединяет в одну матрицы М1 и М2, имеющие одинаковое число столбцов, располагая М1 над М2

submatrix(A,ir,jr,ic,jc)

Возвращает субматрицу, состоящую из всех элементов, содержащихся в строках от ir по jr и столбцов с ic по jc (irJjr и icJjc)

Создаёт диагональную матрицу, элемент главной диагонали которой - вектор V

Матрицу, в которой (i,j)-й элемент содержит f(i,j), где i= 0, 1, …m и j=0, 1, …n

Возвращает матрицу действительных частей матрицы М с комплексными элементами

Возвращает матрицу мнимых частей матрицы М с комплексными элементами

Функции, возвращающие специальные характеристики матриц.

Специальные характеристики матриц возвращаются следующими функциями:

возвращает число столбцов матрицы М

возвращает число строк матрицы М

возвращает ранг матрицы М

возвращает след (сумму диагональных элементов) квадратной матрицы М

возвращает среднее значение элементов массива М

возвращает медиану элементов массива М

возвращает число обусловленности матрицы, вычисленное в норме L1

возвращает число обусловленности матрицы, вычисленное в норме L2

Возвращает число обусловленности матрицы, вычисленное в норме евклидова пространства

Возвращает число обусловленности матрицы, основанное на равномерной норме

Возвращает L1, норму матрицы М

Возвращает L2, норму матрицы М

Возвращает евклидову норму матрицы М

Возвращает неопределённую норму матрицы М

Дополнительные матричные функции.

В профессиональные версии MathCAD включён ряд дополнительных матричных функций:

возвращает вектор, содержащий собственные значения матрицы М

для указанной матрицы М и заданного собственного значения Z возвращает принадлежащий этому собственному значению вектор

возвращает матрицу, столбцами которой являются собственные векторы матрицы М (порядок расположения собственных векторов соответствует порядку собственных значений, возвращаемых функцией eigenvals)

возвращает вектор обобщенных собственных значений v, соответствующий решению уравнения M ? x = vi - N - x (матрицы М и N должны быть вещественными)

возвращает матрицу, столбцы которой содержат нормированные обобщенные собственные векторы

выполняет треугольное разложение матрицы М: P ? M = L ? U, L и U - соответственно нижняя и верхняя треугольные матрицы. Все четыре матрицы квадратные, одного порядка

дает разложение матрицы A, A=Q ? R, где Q - ортогональная матрица и > - верхняя треугольная матрица

дает сингулярное разложение матрицы А размером n?m: A=U ? S ·VT где и - ортогональные матрицы размером m·m и n·n соответственно, S - диагональная матрица, на диагонали которой расположены сингулярные числа матрицы А

возвращает вектор, содержащий сингулярные числа матрицы А размером m·n, где mі n

возвращает матрицу левую обратную к матрице А. L·A=E, где E - единичная матрица размером n·n, L - прямоугольная матрица размером n·m, A - прямоугольная матрица размером m·n

Функции сортировки для векторов и матриц.

Начиная с третьей версии, в системе MathCAD появились некоторые дополнительные функции сортировки - перестановки элементов векторов и матриц.