Создать несколько матриц из одной маткад. Операции с матрицами

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

Для того чтобы определить матрицу, введите с клавиатуры имя матрицы и знак присваивания (+<:>). Затем откройте панель операций с матрицами и нажмите кнопку «Создать матрицу или вектор» или выберите в меню Вставка (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 читает и выполняет введенные выражения слева направо и сверху вниз, поэтому следите, чтобы выражение для вычисления располагалось правее и ниже определенных для него значений переменных.

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

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

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

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

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

Задание

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.

Понравилась статья? Поделитесь ей
Наверх