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

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

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

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

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

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

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное Государственное бюджетное образовательное учреждение высшего профессионального образования

«Поволжский государственный технологический университет»

(ФГБОУ ВПО «ПГТУ»)

Отчет по лабораторной работе №3

по дисциплине

«Теория систем и системный анализ»

25 вариант

Выполнила: студентка

1-го курса ЭФ группы

ПИб-11 Уртьева И.Ю.

Проверила:

Пайзерова Ф. А.

Йошкар-Ола

2012 г.

ЦЕЛЬ ЛАБОРАТОРНОЙ РАБОТЫ.

Научиться работать с матрицами в MathCAD .

Лабораторное задание.

3.1. Ввести заданные в столбце 1 матрицы (п.4.3.2).

3.2. Транспонировать заданные матрицы (матрицы из столбцов 1 и 2) (п.9.1.1)

3.3. Найти линейную комбинацию матриц (столбец 1) (п.9.1.2, 9.1.3)

3.4. Найти произведение каждой матрицы на транспонированную и транспонированной матрицы на саму матрицу (матрицы из столбцов 1 и 2). (п.9.1.2)

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

Задания:

1)3*А-2*В, А= , В= .

2) f (x )=2* -3* +5, A =

3)

3.1. Ввести заданные в столбце 1 матрицы.

3*А-2*В, А= , В=

Для вычисления этого примера нужно на панели инструментов вызвать калькулятор, а так же нужно вызвать Панель инструментов «Вектор и матрица» и выбрать нужные значения:

Для начала нужно присвоить значение А и В: «А:=», «В:=» , а для того, чтобы задать матрицу, нужно кликнуть мышкой по

И после этого появится окошко, в котором нужно ввести количество строк и столбцов

После нажимаем ОК и появится

в которую вбиваем значения и получим результат:

3.2. ТРАНСПОНИРОВАТЬ ЗАДАННЫЕ МАТРИЦЫ

Чтобы транспонировать матрицы, необходимо вызвать на панели инструментов «Матрица» и выбрать.

И результат получится:

3.3. НАЙТИ ЛИНЕЙНУЮ КОМБИНАЦИЮ МАТРИЦ

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

3.4. НАЙТИ ПРОИЗВЕДЕНИЕ КАЖДОЙ МАТРИЦЫ НА ТРАНСПОНИРОВАННУЮ И ТРАНСПОНИРОВАННОЙ МАТРИЦЫ НА САМУ МАТРИЦУ.

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

А для того, чтобы найти значение функции f (x )=2* -3* +5

нужно присвоить А «А:=» значения , затем присвоить х значение А «х:=А» .

А функцию f (x )=2* -3* +5

нужно записать в виде:

И в результате получится:

Чтобы найти значение определителя, нужно кликнуть мышкой по символу

и на экране выходит:

После этого нам нужно кликнуть мышкой по символу:

И в экране появится:

Также вбиваем значения и в результате получим:

3.6. РЕШИТЬ СИСТЕМУ ЛИНЕЙНЫХ УРАВНЕНИЙ ПО ВАШЕМУ ВАРИАНТУ (СМ. ЛАБОРАТОРНУЮ РАБОТУ 7 (РЕШЕНИЕ СИСТЕМ УРАВНЕНИЙ, ПЕРВЫЙ СТОЛБЕЦ ТАБЛИЦЫ)) МАТРИЧНЫМ СПОСОБОМ, И ПРОВЕРИТЬ, ИСПОЛЬЗУЯ МАТРИЦЫ, ПРАВИЛЬНОСТЬ РЕШЕНИЯ (СМ. ПРИЛОЖЕНИЕ К ЭТОЙ ЛАБОРАТОРНОЙ РАБОТЕ). РАССЧИТАТЬ МОДУЛЬ ВЕКТОРА ПРАВЫХ ЧАСТЕЙ И СКАЛЯРНОЕ ПРОИЗВЕДЕНИЕ ЭТОГО ВЕКТОРА НА САМОГО СЕБЯ.

Эту систему можно решить тремя способами:

  1. Матричная форма записи.
  2. Методом Крамера.
  3. Методом Гаусса.

Матричная форма записи

В данной системе уравнений даны три неизвестные и стоящие перед ними коэффициенты. И эти коэффициенты нужно записать в виде:

А значения этих трех неизвестных:

Для того, чтобы найти значения трех неизвестных, нужно воспользоваться формулой: x :=

Чтобы достовериться правильно ли значения подсчитали, воспользуемся формулой:

Так же чтобы удостовериться, что нашли те же значения правильно, сделаем проверку, подставляя значения в формулу:

x := Isolve (A , B )

и программа должна вывести одно и тоже значение

Результат работы программы:

МЕТОД КРАМЕРА

Чтобы решить систему уравнений методом Крамера, нужно вычислить их определители, заменяя столбцы:

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

И в результате получим:

МЕТОД ГАУССА

Для того, чтобы решить систему методом Гаусса, нужно сперва ввести матрицу системы и матрицу - столбец правых частей.

После этого нужно сформировать расширенную матрицу системы.

Для того, чтобы сформировать расширенную матрицу системы, нужно использовать функцию augment (A , b ), которая формирует матрицу, добавляя к столбцам матрицы системы A справа столбец правых частей b (в приведенном документе расширенной матрице системы присвоено имя Ar ). Функция rref (Ar ) выполняет элементарные операции со строками расширенной матрицы системы Ar -приводит ее к ступенчатому виду с единичной матрицей в первых столбцах, т.е. выполняет прямой и обратный ходы гауссова исключения, Ag – имя результата (ступенчатой формы матрицы Ar ). Функция submatrix (Ag ,0,2,3,3), выделяя последний столбец матрицы Ag , формирует столбец решения системы. Проверка (вычисление A позволяет убедиться в правильности решения. Результат работы в программе:

ВЫВОД.

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

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

Практическая работа № 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 читает и выполняет введенные выражения слева направо и сверху вниз, поэтому следите, чтобы выражение для вычисления располагалось правее и ниже определенных для него значений переменных.