Создать несколько матриц из одной маткад. Операции с матрицами
Массив - имеющая уникальное имя совокупность конечного числа числовых или символьных элементов, упорядоченных некоторым образом и имеющих определенные адреса. В пакете 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 появились некоторые дополнительные функции сортировки - перестановки элементов векторов и матриц.
С этими понятиями Вы могли сталкиваться, работая в Excel – столбец чисел называется вектор-столбцом, строка – вектор-строкой. Блок объектов является матрицей. Вычисления в Excel, по сути, являются операциями с векторами и матрицами. В этом уроке мы познакомимся с аналогичными вычислениями в Mathcad, и мы поймем, почему в Mathcad их проводить проще.
Введение
В предыдущих уроках наши векторы начинались с элемента с номером «0». В этом уроке для простоты сделаем номер первого элемента равным «1». Это можно сделать с помощью вкладки Расчет –> Параметры документа –> ORIGIN:
Это значение можно вывести прямо в документ, чтобы не забыть его и не запутаться:
Теперь рассмотрим несколько матриц:
Как видно, они могут включать в себя числа, символы и даже функции. Они также могут содержать текстовые элементы (строки).
Элемент матрицы можно вывести, используя подстрочные индексы:
Матрицы выше являются квадратными 2х2, но у них может быть любой размер по строкам и столбцам:
Запомните: первое число – номер строки (или их количество), второе – столбца.
Элементы, выделенные с помощью подстрочных индексов:
Для вектор-столбца второй индекс можно опустить, но не для вектор-строки:
Во вкладке Математика –> Операторы и символы –> Операторы –> Векторы и матрицы Вы найдете команды для выделения столбцов и строк:
Многие операции для векторов и матриц аналогичны операциям для обычных чисел, переменных и функций: сложение, вычитание, некоторые виды умножения. Поиск обратной матрицы близко к операции деления. Вы можете записать эти операторы, используя имена векторов и матриц. В качестве примера рассмотрим векторное произведение матрицы и вектора:
Мы рассмотрим эту операцию подробнее позже. Однако стоит заметить, что она требует девять операций умножения и девять – сложения. Расписывать их утомительно и чревато ошибками – для больших матриц сделать это очень трудно.
Применение векторов очень широко. Вспомните пиксели на экране монитора – их могут быть миллионы. Они обрабатываются с помощью операций с матрицами.
В Mathcad
Для создания вектора или матрицы откройте вкладку Матрицы/таблицы. Когда курсор находится в пустой области щелкните по самой левой кнопке «Вставить матрицу». Появится сетка с маленькими квадратами:
Перемести указатель на сетку, выберите желаемый размер матрицы, затем щелкните левой кнопкой мыши. Появится пустая матрица:
Матрице можно присвоить имя, щелкнув на левую скобку, нажав [:] для оператора присваивания и введя имя:
Вставку и удаление строк и столбцов легко осуществлять с помощью команд из меню «Операторы с векторами/матрицами» на вкладке Матрицы и таблицы:
Операции с матрицами
Эффект от различных операций с матрицами и векторами будет проще понять, используя символы. Будем использовать две матрицы и два вектора:
Транспонирование
Оператор транспонирования находится на вкладке Математика –> Операторы –> Векторы и матрицы:
Щелкните по правой границе матрицы и примените оператор. Он работает как для символьных, так и для числовых матриц:
Поэлементные операции
Часто операции в векторами приходится совершать поэлементно. Для этого служит оператор векторизации. Операции в Excel зачастую являются поэлементными, они также важны и в Mathcad. Чтобы перемножить два вектора поэлементно, сначала введите простое умножение:
Затем выберите все выражение и примените векторизацию:
Вычислите, чтобы посмотреть результат: первый элемент умножается на первый, второй – на второй, и т.д.:
Другие поэлементные операции:
Поэлементные операции применимы только к массивам одного размера.
Сложение и вычитание
Сложение и вычитание выполняется поэлементно:
Эта операция также применима лишь к массивам одного размера.
С помощью оператора суммирования можно найти сумму всех элементов вектора (не матрицы):
Скалярное произведение
Умножение на константу работает так:
При скалярном умножении матриц происходит умножение строк на столбцы. При этом используется тот же символ, что и при обычном умножении. Эта операция допустима только для тех матриц, в которых число строк в первой матрице равно числе столбцов во второй. Для наших матриц 2х2:
Заметьте, что последовательность множителей играет роль:
Скалярное произведение не коммутативно, за исключением особых случаев:
Скалярное произведение двух векторов дает результат с комплексно-сопряженными числами (с чертой сверху). Для действительных чисел на это можно не обращать внимания:
Векторное произведение
Этот оператор применим только для двух вектор-столбцов, состоящих из трех элементов:
Векторное произведение имеет широкое применение в механике, гидродинамике, электромагнетизме и в других областях.
Обратная матрица
Обратная матрица определяется только для квадратных матриц.
Практическая работа № 3
В задачах линейной алгебры практически всегда возникает необходимость выполнять различные операции с матрицами.
Предварительно матрицу нужно определить и ввести в рабочий документ MathCAD.
Для того чтобы определить матрицу, введите с клавиатуры имя матрицы и знак присваивания (
Большинство вычислений с матрицами, как и другие вычисления в 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 читает и выполняет введенные выражения слева направо и сверху вниз, поэтому следите, чтобы выражение для вычисления располагалось правее и ниже определенных для него значений переменных.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное Государственное бюджетное образовательное учреждение высшего профессионального образования
«Поволжский государственный технологический университет»
(ФГБОУ ВПО «ПГТУ»)
Отчет по лабораторной работе №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 (РЕШЕНИЕ СИСТЕМ УРАВНЕНИЙ, ПЕРВЫЙ СТОЛБЕЦ ТАБЛИЦЫ)) МАТРИЧНЫМ СПОСОБОМ, И ПРОВЕРИТЬ, ИСПОЛЬЗУЯ МАТРИЦЫ, ПРАВИЛЬНОСТЬ РЕШЕНИЯ (СМ. ПРИЛОЖЕНИЕ К ЭТОЙ ЛАБОРАТОРНОЙ РАБОТЕ). РАССЧИТАТЬ МОДУЛЬ ВЕКТОРА ПРАВЫХ ЧАСТЕЙ И СКАЛЯРНОЕ ПРОИЗВЕДЕНИЕ ЭТОГО ВЕКТОРА НА САМОГО СЕБЯ.
Эту систему можно решить тремя способами:
- Матричная форма записи.
- Методом Крамера.
- Методом Гаусса.
Матричная форма записи
В данной системе уравнений даны три неизвестные и стоящие перед ними коэффициенты. И эти коэффициенты нужно записать в виде:
А значения этих трех неизвестных:
Для того, чтобы найти значения трех неизвестных, нужно воспользоваться формулой: 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.
Для того чтобы определить матрицу, введите с клавиатуры имя матрицы и знак присваивания (
Большинство вычислений с матрицами, как и другие вычисления в 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.