Матрицы в Mathcad
Векторы и матрицы рассматриваются в программе Mathcad как одномерные и двумерные массивы данных.
Матрица создается с помощью диалогового окна Вставить матрицу (рис. 1.6), которое открывают командой Вставка > Матрица (Insert > Matrix) или первой кнопкой на панели "Матрица" (рис. 1.7). Вектор задается как матрица, имеющая один столбец. В диалоговом окне задается число строк и столбцов, а после вставки на рабочий лист матрица содержит вместо элементов заполнители, вместо которых следует вставить число, переменную или выражение.
Для матриц определены сложение, умножение на число, перемножение и другие операции. Допустимо использование матриц вместо скалярных выражений: в этом случае предполагается, что указанные действия должны быть применены к каждому элементу матрицы, и результат также представляется в виде матрицы:
Для работы с элементами матрицы используют индексы элементов. Нумерация строк и столбцов матрицы начинается с нуля, что задается системной переменной ORIGIN, и может быть изменено пользователем (например, блок ORIGIN:=1 устанавливает начальный индекс равным единице). Индекс элемента задается числом, переменной или выражением и отображается как нижний индекс. Он вводится после щелчка на кнопке Индекс (Subscript, xn) на панели инструментов Mатрица (Matrix) или нажатием символа "[" после имени массива (см. приложение "Горячие клавиши"). Индексы двумерных матриц записываются через запятую.
Иногда (например, при построении графиков) требуется выделить вектор, представляющий собой столбец матрицы. Номер столбца матрицы отображается как верхний индекс, заключенный в угловые скобки: . Для его ввода используется кнопка Столбец (Matrix Column) на панели инструментов Матрица или соответствующая "горячая" клавиша.
Для задания некоторой последовательности элементов матрицы используют диапазоны. Диапазон фактически представляет собой вектор, содержащий арифметическую прогрессию, определенную первым, вторым и последним элементами. Чтобы задать диапазон, следует указать значение первого элемента, через запятую значение второго и через точку с запятой значение последнего элемента. Точка с запятой при задании диапазона отображается как две точки (..). Диапазон можно использовать как значение переменной, например х:=0,0.01..1 . Если разность прогрессии равна единице (то есть, элементы просто нумеруются), значение второго элемента и соответствующую запятую опускают.
На рис. 1.8 приведены примеры реализации некоторых операций с матрицами.
Рассмотрим простейшие операции матричной алгебры, реализованные в MathCAD в виде операторов, причем следует отметить, что их запись максимально приближена к математической форме записи. Наиболее часто используемые операции расположены на панели инструментов Матрица (Matrix) (рис. 14), остальные можно найти используя меню Вставка → Функция… категории функций Vector and Matrix.
Рис. 14. Панели инструментов Матрица и Логика
Транспонированием называют операцию, переводящую матрицу размерности M×N в матрицу размерности N×M, делая столбцы исходной матрицы строками, а строки — столбцами. Ввод символа транспонирования (transpose) осуществляется с помощью панели инструментов Матрица(Matrix)
или нажатием клавиш + . Не забывайте, что для вставки символа транспонирования матица должна находиться между линиями ввода.
Сложение и вычитание. В MathCAD можно как складывать матрицы, так и вычитать их друг из друга. Для этих операторов применяются стандартные символы «+» или «-», соответственно. Матрицы должны иметь одинаковую размерность, иначе будет выдано сообщение об ошибке. Каждый элемент суммы двух матриц равен сумме соответствующих элементов матриц-слагаемых. Результат унарной операции смены знака матрицы эквивалентен смене знака всех ее элементов. Для того, чтобы изменить знак матрицы, достаточно ввести перед ней знак минуса, как перед обычным числом.
При умножении следует помнить, что матрицу размерности M×N допустимо умножать только на матрицу размерности N×P (P может быть любым). В результате получается матрица размерности M×P.
Чтобы ввести символ умножения, нужно нажать клавишу со звездочкой или воспользоваться панелью инструментов Матрица (Matrix), нажав на ней кнопку Dot Product (Умножение). Умножение матриц обозначается по умолчанию точкой.
Для получения сведений о характеристиках матриц или векторов предусмотрены следующие встроенные функции:
· rows (A) — число строк;
· cols (A) — число столбцов;
· length(v) — число элементов вектора;
· last (v) — индекс последнего элемента вектора,
где A — матрица или вектор; v — вектор.
Скалярное произведение векторов (vector inner product) определяется как скаляр, равный сумме попарных произведений соответствующих элементов. Векторы должны иметь одинаковую размерность, скалярное произведение имеет ту же размерность. Скалярное произведение двух векторов u и v равно
, где
— угол между векторами. Если векторы ортогональны, то их скалярное произведение равно нулю. Обозначается скалярное произведение тем же символом, что и умножение.
Векторное произведение (cross product) двух векторов u и v с углом между ними равно вектору с модулем
, направленным перпендикулярно плоскости векторов u и v. Обозначают векторное произведение символом , который можно ввести нажатием кнопки Cross Product(Векторное произведение)
в панели Матрица(Matrix) или сочетанием клавиш + .
Определитель матрицы обозначается стандартным математическим символом. Чтобы ввести оператор нахождения определителя матрицы, можно нажать кнопку Determinant (Определитель) на панели инструментов Матрица(Matrix) или набрать на клавиатуре (нажав клавиши + ).
Рангом (rank) матрицы называют наибольшее натуральное число k, для которого существует не равный нулю определитель k-го порядка подматрицы, составленной из любого пересечения k столбцов и k строк матрицы. Для определения ранга матрицы в MathCAD используется функция rank(A), где А — матрица, ранг которой требуется найти.
Как известно, поиск обратной матрицы возможен, если матрица квадратная и ее определитель не равен нулю. Произведение исходной матрицы на обратную по определению является единичной матрицей. Для ввода оператора поиска обратной матрицы нажмите кнопку Инверсия (Inverse) на панели инструментов Матрица(Matrix).
В линейной алгебре используются различные векторные и матричные нормы (norm), которые ставят в соответствие матрице некоторую скалярную числовую характеристику. Норма матрицы отражает порядок величины матричных элементов. В разных специфических задачах линейной алгебры применяются различные виды норм. MathCAD имеет четыре встроенных функции для расчета разных норм квадратных матриц:
· norm1(A) — норма в пространстве L1;
· norm2 (А) — норма в пространстве L2;
· norme (A) — евклидова норма (euclidean norm);
· normi (A) — max-норма, или -норма (infinity norm):
где A — квадратная матрица.
Часто бывает нужно переставить элементы матрицы или вектора, расположив их в определенной строке или столбце в порядке возрастания или убывания. Для этого имеются несколько встроенных функций, которые позволяют гибко управлять сортировкой матриц:
· sort(v) — сортировка элементов вектора в порядке возрастания;
· reverse (v) — перестановка элементов вектора в обратном порядке;
· csort(A, i) — сортировка строк матрицы выстраиванием элементов i-столбца в порядке возрастания;
· rsort(A,i) — сортировка столбцов матрицы выстраиванием элементе i-й строки в порядке возрастания, где v — вектор; А — матрица; i — индекс строки или столбца.
Примеры работы рассмотренных выше операторов представлены на рис. 15.
Для задания логических функций в MathCAD имеется панель инструментов Логические (Boolean) рис. 6.13. На ней расположены кнопки, отражающие отношения (=, >,
Дата добавления: 2014-01-06 ; Просмотров: 5873 ; Нарушение авторских прав? ;
Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет
Практическая работа № 3
В задачах линейной алгебры практически всегда возникает необходимость выполнять различные операции с матрицами.
Предварительно матрицу нужно определить и ввести в рабочий документ MathCAD.
Для того чтобы определить матрицу, введите с клавиатуры имя матрицы и знак присваивания ( + ). Затем откройте панель операций с матрицами и нажмите кнопку «Создать матрицу или вектор» или выберите в меню Вставка (Insert) команду Матрицу (Matix). В окне диалога введите число строк и столбцов и заполните значениями поле ввода матрицы.
Большинство вычислений с матрицами, как и другие вычисления в MathCAD, можно выполнять тремя способами – с помощью панелей инструментов, выбором операции в меню или обращением к соответствующей функции.
За кнопками на панели инструментов Матрицы закреплены следующие функции:
· определение размеров матрицы
· Xn – ввод нижнего индекса
· 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
Функции вычисления различных числовых характеристик матриц:
· 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. Для вставки текстовых комментариев выберите в меню Вставка пункт Текстовая область или нажмите сочетание клавиш + .
Варианты заданий.
Размерность матрицы А 3*4.
;
Размерность матрицы А 5*3.
;
Размерность матрицы А 4*4.
;
Размерность матрицы А 7*4.
;
Размерность матрицы А 7*8.
;
Размерность матрицы А 7*7.
;
Размерность матрицы А 7*8.
;
Размерность матрицы А 7*5.
;
Размерность матрицы А 5*7.
;
Размерность матрицы А 5*4.
;
Размерность матрицы А 7*7.
;
Размерность матрицы А 4*5.
;
Размерность матрицы А 6*7.
;
Размерность матрицы А 6*4.
;
Размерность матрицы А 7*6.
;
Размерность матрицы А 6*5.
;
Размерность матрицы А 9*5.
;
Размерность матрицы А 7*6.
;
Размерность матрицы А 7*4.
;
Размерность матрицы А 8*4.
;
Размерность матрицы А 5*7.
;
Размерность матрицы А 5*5.
;
Размерность матрицы А 5*4.
;
Размерность матрицы А 4*5.
;
Размерность матрицы А 3*7.
;
Размерность матрицы А 5*4.
;
| | следующая лекция ==> | |
Ковариация (корреляционный момент) и коэффициент корреляции | | | Тема 1а: Системный подход к человеку в психологии и педагогике |
Дата добавления: 2016-09-06 ; просмотров: 9290 | Нарушение авторских прав