Использование матриц специального вида для выполнения матричных операций в системе Mathcad

Лабораторная работа №10

Матричные операции в Mathcad

Теоретические сведения

С матрицами могут производиться как численные, так и символьные вычисления. Операции с матрицами в системе Mathcad обозначаются так, как это принято в математике: –, +, *, ... .

На рисунке 32 показано назначение некоторых специализированных команд, расположенных на панели инструментовMatrix.

Помимо этого, система Mathcad представляет большое количество функций для работы с векторами и матрицами. Воспользоваться этими функциями можно с помощью мастера функций f(x).

Использование матриц специального вида для выполнения матричных операций в системе Mathcad - student2.ru

Рисунок 32 – Назначение некоторых команд, расположенных на панели инструментов «Matrix»

На рисунке 33 представлены вычисления с использованием операций над матрицами.

Использование матриц специального вида для выполнения матричных операций в системе Mathcad - student2.ru

Рисунок 33 – Примеры матричных вычислений в Mathcad

Примеры работы с матрицами в Mathcad

Пример 1

Требуется сформировать вектор x, состоящий из 6 элементов. Элементам этого вектора присвоить значения индексов.

Решение

Рассмотрим два варианта решения этой задачи:

1) с помощью индексированной переменной;

2) с помощью командыInserts-Matrix.

Вариант а

Для того чтобы сформировать вектор, воспользуемся вспомогательной переменной, которая будет играть роль индекса (например, i), а затем будем использовать эту переменную для здания элементных значений в векторах. Формирование вектора представлено на рисунок 34.

Вариант b

Формирование вектора х будем производить с помощью команды Matrix. Для этого сначала напишем оператор присваивания: «х=», а затем выполним командуMatrix. Эта команда открывает диалоговое окно«Insert Matrix», которое представлено на рисунке 35, в котором необходимо указать число строк и число столбцов. В нашем примере число строк равно 6, а число столбцов равно 1.

Использование матриц специального вида для выполнения матричных операций в системе Mathcad - student2.ru

Рисунок 34 – Формирование вектора с использованием индексированной переменной

После нажатия кнопки«Ok» команда предоставит шаблон с шестью ячейками, в которые следует вписать значения элементов вектора.

Использование матриц специального вида для выполнения матричных операций в системе Mathcad - student2.ru

Рисунок 35 – Вызов диалогового окна «Insert Matrix» для создания матрицы с помощью команды «Matrix»

Пример 2

В файле с именем «int(4_4).txt» записаны числа в виде матрицы четыре строчки по четыре элемента, разделенными пробелами. В файле с именем «int(4_1).txt» записаны числа в столбик. Требуется прочитать эти данные в матрицу Q и вектор P.

Решение

Для чтения данных из файла в матрицу/вектор можно воспользоваться функцией READPRN, которая имеет один параметр – имя файла. Фрагмент с решением представлен на рисунке 36.

Использование матриц специального вида для выполнения матричных операций в системе Mathcad - student2.ru

Рисунок 36 – Чтение данных из файлов

Пример 3

Требуется сформировать диагональную квадратную матрицу с (6×6). Значения элементов главной диагонали должны совпадать с номером строки/столбца.

Решение

Для получения диагональной матрицы в системе предусмотрена функция diag, которая имеет один параметр – вектор диагональных элементов. Поэтому формирование матрицы начнем с создания вспомогательного вектора, в который занесем элементы для диагонали. Для формирования этого вспомогательного вектора (например, с именем s), воспользуемся вспомогательной переменной, которая будет играть роль индекса (например, i). Тогда формирование диагональной матрицы может быть получено в результате операций, как это показано на рисунке 37.

Использование матриц специального вида для выполнения матричных операций в системе Mathcad - student2.ru

Рисунок 37 – Формирование диагональной матрицы

Пример 4

Даны две матрицы: A(4×3) и В(4×2). Требуется объединить эти матрицы в одну матрицу C(4×5), причем, первыми столбцами новой матрицы должны быть столбцы матрицы А, а справа от этих элементов следовать столбцы матрицы В (методом «дописывания справа»).

Решение

Для соединения двух матриц в одну матрицу можно использовать функцию augment, параметрами которой являются имена соединяемых матриц, как это показано на рисунке 38.

Использование матриц специального вида для выполнения матричных операций в системе Mathcad - student2.ru

Рисунок 38 – Объединения двух матриц по правилу «дописывания справа»

Пример 5

Даны две матрицы: A(2×3) и В(3×3). Требуется объединить эти матрицы в одну матрицу С(5×3), причем, в новой матрицы в качестве первых строк должны быть строки матрицы А, а за ними должны следовать строки матрицы В.

Решение

Для соединения двух матриц в одну матрицу по правилу «друг под другом» можно использовать функцию stack, параметрами которой будут являться имена соединяемых матриц, как это показано на рисунке 39.

Использование матриц специального вида для выполнения матричных операций в системе Mathcad - student2.ru

Рисунок 39 – Объединения двух матриц по правилу «друг под другом»

Пример 6

Дана матрица A(6×6). Требуется получить из этой матрицу подматрицу, в которую включить элементы, расположенные в строках, начиная с номера 2-го по номер 4-й, и столбцах, начиная с номера 0-го по номер 5-й.

Решение

Для выделения подматрицы с номерами столбцов и строк представленными граничными значениями предусмотрена функция submatrix. Эта функция имеет 5 параметров: имя матрицы, из которой производится выбор; начальный номер строки выбора; конечный номер строки выбора; начальный номер столбца выбора; конечный номер столбца выбора. Возможное решение представлено на рисунке 40.

Использование матриц специального вида для выполнения матричных операций в системе Mathcad - student2.ru

Рисунок 40 – Выделение подматрицы из заданной матрицы

Пример 7

Дана матрица A(6×6). Требуется получить из этой матрицу два вектора. Первый вектор должен совпадать с 4-ым столбцом матрицы А, а второй – с 3-й строкой матрицы А.

Решение

Для получения векторных значений можно воспользоваться командой М< > (из матрицы взять вектор-столбец), которая расположена на панели«Matrix». Для получения первого вектора эту команду нужно применить непосредственно к матрице А, а для получения второго вектора нужно сначала получить из матрицы А транспонированную матрицу, а только потом воспользоваться командой «взять столбец». Возможное решение представлено на рисунке 41.

Использование матриц специального вида для выполнения матричных операций в системе Mathcad - student2.ru

Рисунок 41 – Выделение векторных значений из заданной матрицы

Пример 8

Из матрицы А(6×6) выделить минор, который образуется в результате вычеркивания из этой матрицы нулевой строчки и третьего столбца.

Решение

Решение задачи можно свести к соединению двух подматриц, выделенных из матрицы А, как это показано на рисунке 42.

Использование матриц специального вида для выполнения матричных операций в системе Mathcad - student2.ru

Рисунок 42 – Выделение минора из заданной матрицы

Использование матриц специального вида для выполнения матричных операций в системе Mathcad

Известно, что в результате умножении матрицы на вектор получается вектор. Причем, каждый i-й элемент этого вектора-результата представляет собой сумму попарных произведений соответствующих элементов i-ой строки матрицы на элементы вектора-сомножителя. Очевидно, если в векторе, на который умножается матрица, все элементы равны нулю, а один элемент равен единице, то результатом такого произведения будет число, соответствующее тому элементу i-й строки матрицы, где векторным сомножителем будет единица. Такой вывод можно использовать для выделения (формирования) из матрицы нужного столбца.

Пример 9

Дана матрица: A(4×4). Требуется получить из этой матрицу два вектора. Первый вектор должен совпадать с 0-ым столбцом матрицы А, а второй – с 3-м столбцом матрицы А.

Решение

Для получения новых векторов сформируем два вспомогательных вектора: вектор B1 – с единичным значением в строке с номером 0, а второй вектор В4 – с единичным значением в строке с номером 3. Тогда для получения векторов в соответствии с условием задачи достаточно умножить матрицу А справа на векторы В1 и В2, как это показано на рисунке 43

.

Использование матриц специального вида для выполнения матричных операций в системе Mathcad - student2.ru

Рисунок 43 – Выделение векторных значений из заданной матрицы

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

Пример 10

Дана матрица: A(4×4) из примера 9. Выделить из матрицы первую строку по порядку (с номером 0).

Решение

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

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

Пример 11

Дана матрица: A(4×4) из примера 9. Переставить в матрице строки с номерами 0 и 1.

Решение

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

Использование матриц специального вида для выполнения матричных операций в системе Mathcad - student2.ru

Рисунок 44 – Результат перестановки строк в матрице A

Пример 12

Дана матрица: A(4×4) из примера 9. Переставить в матрице столбцы с номерами 0 и 1.

Решение

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

Использование матриц специального вида для выполнения матричных операций в системе Mathcad - student2.ru

Рисунок 44 – Результат перестановки столбцов в матрице A

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

Пример 13

Дана матрица: A(4×4) из примера 9. Найти сумму элементов в столбце с номером 3.

Решение

Для решения задачи требуется подготовить вспомогательный вектор-строку из единичных элементов и выполнить умножение (рисунок 45).

Использование матриц специального вида для выполнения матричных операций в системе Mathcad - student2.ru

Рисунок 45 – Вспомогательный вектор E и результат нахождения суммы в нужном столбце матрицы А

Пример 14

Дана матрица: A(4×4) из примера 9. Получить вектора, элементы которого будут представлять суммы элементов в столбцах матрицы.

Решение

Для решения требуется подготовить вспомогательный вектор-строку из единичных элементов и выполнить умножение (рисунок 46).

Использование матриц специального вида для выполнения матричных операций в системе Mathcad - student2.ru

Рисунок 46 – Вспомогательный вектор E и результат нахождения суммы в столбцах матрицы А

Наши рекомендации