Создание векторов и матриц
В системе предусмотрены различные возможности задания векторов и матриц:
Определение матрицы последовательным заданием каждого элемента.
С помощью индексированных переменных.
С помощью использования команды Insert→Matrix, либо с помощью соответствующей кнопки панели Matrix.
Задание с помощью элементов программирования.
Применение встроенных функций.
Через связь с другим приложением, например Excel.
Создание таблицы данных.
Чтение из внешнего файла.
Рассмотрим некоторые из них. Определение матрицы последовательным заданием каждого элемента очевидно и не требует пояснений. При создании матрицы или вектора с помощью индексированной переменной следует исходить из того, что любая индексированная переменная, индексами которой являются переменные, принимающие целочисленные значения из некоторого промежутка, уже представляют собой вектор или матрицу.
Пример 1. Требуется сформировать вектор x, состоящий из 6 элементов. Элементам этого вектора присвоить значения индексов.
Решение.Предоставим два варианта решения этой задачи:
с помощью индексированной переменной;
с помощью команды Insert→Matrix.
Вариант а
Для того, чтобы сформировать вектор, воспользуемся вспомогательной переменной, которая будет играть роль индекса (например, i), а затем будем использовать эту переменную для здания элементных значений вектора x. Формирование вектора представлено на рис. 7.1.
Рис. 7.1. Формирование вектора с использованием
индексированной переменной
Вариант b
Формирование вектора х будем производить с помощью команды Matrix. Для этого сначала напишем оператор присваивания: «х:=» , а затем выполним команду Matrix. Эта команда открывает диалоговое окно «Insert Matrix», которое представлено на рис. 7.2, в котором необходимо указать число строк и число столбцов. В нашем примере число строк равно 6, а число столбцов равно 1.
После нажатия кнопки «Ok» команда предоставит шаблон с шестью ячейками, в которые следует вписать значения элементов вектора.
Рис. 7.2. Вызов диалогового окна «Insert Matrix» для создания матрицы с помощью команды «Matrix»
Пример 2. В файле с именем «int(4_4).txt» записаны числа в виде матрицы четыре строчки по четыре элемента, разделенными пробелами. В файле с именем «int(4_1).txt» записаны числа в столбик. Требуется прочитать эти данные в матрицу Q и вектор P.
Решение.Для чтения данных из файла в матрицу/вектор можно воспользоваться функцией READPRN, которая имеет один параметр — имя файла. Фрагмент с решением представлен на рис. 7.3.
Рис. 7.3. Чтение данных из файлов
С матрицами могут производиться как численные, так и символьные вычисления. Операции с матрицами в системе MathCAD обозначаются так, как это принято в математике: -, +, *, … .
На рис. 7.4 показано назначение некоторых специализированных команд, расположенных на панели инструментов Matrix.
Помимо этого, система MathCAD представляет большое количество функций для работы с векторами и матрицами. Воспользоваться этими функциями можно с помощью мастера функций f(x).
Х-1 – получить обратную матрицу |X| – вычислить детерминант МТ – транспонировать М< > – из матрицы взять вектор-столбец åv – получить сумму элементов – скалярное произведение векторов – векторное произведение векторов |
Рис. 7.4. Назначение некоторых команд, расположенных на
панели инструментов «Matrix»
На рис. 7.5 представлены вычисления с использованием операций над матрицами.
Рис. 7.5. Примеры матричных вычислений в MathCAD
Пример 3. Требуется сформировать диагональную квадратную матрицу с(6x6). Значения элементов главной диагонали должны совпадать с номером строки/столбца.
Решение.Для получения диагональной матрицы в системе предусмотрена функция diag, которая имеет один параметр – вектор диагональных элементов. Поэтому формирование матрицы начнем с создания вспомогательного вектора, в который занесем элементы для диагонали. Для формирования этого вспомогательного вектора (например, с именем s), воспользуемся вспомогательной переменной, которая будет играть роль индекса (например, i). Тогда формирование диагональной матрицы может быть получено в результате операций, как это показано на рис. 7.6.
Рис. 7.6. Формирование диагональной матрицы
Пример 4. Даны две матрицы: А(4x3) и В(4x2). Требуется объединить эти матрицы в одну матрицу С(4x5), причем, первыми столбцами новой матрицы должны быть столбцы матрицы А, а справа от этих элементов следовать столбцы матрицы В (методом «дописывания справа»).
Решение.Для соединения двух матриц в одну матрицу можно использовать функцию augment, параметрами которой будут являться имена соединяемых матриц, как это показано на рис. 7.7.
Рис. 7.7. Объединения двух матриц по правилу «дописывания справа»
Пример 5. Даны две матрицы: А(2x3) и В(3x3). Требуется объединить эти матрицы в одну матрицу С(5x3), причем, в новой матрицы в качестве первых строк должны быть строки матрицы А, а за ними должны следовать строки матрицы В.
Решение.Для соединения двух матриц в одну матрицу по правилу «друг под другом» можно использовать функцию stack, параметрами которой будут являться имена соединяемых матриц, как это показано на рис. 7.8.
Рис. 7.8. Объединения двух матриц по правилу «друг под другом»
Пример 6. Дана матрица А(6x6). Требуется получить из этой матрицу подматрицу, в которую включить элементы, расположенные в строках, начиная с номера 2-го по номер 4-ый, и столбцах, начиная с номера 0-го по номер 5-ый.
Решение.Для выделения подматрицы с номерами столбцов и строк представленными граничными значениями предусмотрена функция submatrix. Эта функция имеет 5 параметров: имя матрицы, из которой производится выбор; начальный номер строки выбора; конечный номер строки выбора; начальный номер столбца выбора; конечный номер столбца выбора. Возможное решение представлено на рис. 7.9.
Рис. 7.9. Выделение подматрицы из заданной матрицы
Пример 7. Дана матрица А(6x6). Требуется получить из этой матрицу два вектора. Первый вектор должен совпадать с 4–ым столбцом матрицы А, а второй – с 3-ей строкой матрицы А.
Решение. Для получения векторных значений можно воспользоваться командой М< > (из матрицы взять вектор-столбец), которая расположена на панели «Мatrix». Для получения первого вектора эту команду нужно применить непосредственно к матрице А, а для получения второго вектора нужно сначала получить из матрицы А транспонированную матрицу, а только потом воспользоваться командой «взять столбец». Возможное решение представлено на рис. 7.10.
Рис. 7.10. Выделение векторных значений из заданной матрицы
Пример 8. Из матрицы А(6x6) выделить минор, который образуется в результате вычеркивания из этой матрицы нулевой строчки и третьего столбца.
Решение. Решение задачи можно свести к соединению двух подматриц, выделенных из матрицы А, как это показано на рис. 7.11.
Рис. 7.11. Выделение минора из заданной матрицы
Дата добавления: 2015-01-10; просмотров: 1415;