Задачи матричной алгебры в пакетах символьной математики. Примеры
MatLab
MatLab — одна из тщательно проработанных и проверенных временем систем автоматизации математических расчетов, построенная на расширенном представлении и применении МАТРИЧНЫХ операций. Библиотека C Math позволяет пользоваться следующими категориями функций:
Библиотека C Math позволяет пользоваться следующими категориями функций: операции с матрицами;. сравнение матриц; решение линейных уравнений; разложение операторов и поиск собственных значений; нахождение обратной матрицы; поиск определителя; вычисление матричного экспоненциала; элементарная математика; функции beta, gamma, erf и эллиптические функции; основы статистики и анализа данных; поиск корней полиномов; фильтрация, свертка; быстрое преобразование Фурье (FFT); интерполяция; операции со строками; операции ввода-вывода файлов и т.д.
Матрицы MATLAB В MatLab можно использовать скаляры, векторы и матрицы. Для ввода скаляра достаточно приписать его значение какой-то переменной, например
Заметим, что MatLab различает заглавные и прописные буквы, так что p и P — это разные переменные. Для ввода массивов (векторов или матриц) их элементы заключают в квадратные скобки. Так для ввода вектора-строки размером 1×3, используется следующая команда, в которой элементы строки отделяются пробелами или запятыми.
При вводе вектора-столбца элементы разделяют точкой с запятой. Например,
Вводить небольшие по размеру матрицы удобно прямо из командной строки. При вводе матрицу можно рассматривать как вектор-столбец, каждый элемент которого является вектором-строкой.
или матрицу можно трактовать как вектор строку, каждый элемент которой является вектором-столбцом
Доступ к элементам Доступ к элементам матриц осуществляется при помощи двух индексов — номеров строки и столбца, заключенных в круглые скобки, например, команда B(2,3) выдаст элемент второй строки и третьего столбца матрицы B. Для выделения из матрицы столбца или строки следует в качестве одного из индексов использовать номер столбца или строки матрицы, а другой индекс заменить двоеточием. Например, запишем вторую строку матрицы A в вектор z
Также можно осуществлять выделение блоков матриц при помощи двоеточия. Например, выделим из матрицы P блок отмеченный цветом
Если необходимо посмотреть переменные рабочей среды, в командной строке необходимо набрать команду whos. Видно, что в рабочей среде содержатся один скаляр (p), четыре матрицы (A, B, P, P1) и вектор-строка (z).
Основные матричные операции При использовании матричных операций следует помнить, что для сложения или вычитания матрицы должны быть одного размера, а при перемножении число столбцов первой матрицы обязано равняться числу строк второй матрицы.
Умножение в MATLAB Умножение матрицы на число тоже осуществляется при помощи звездочки, причем умножать на число можно как справа, так и слева. Возведение квадратной матрицы в целую степень производится с использованием оператора ^
MatLab содержит множество различных функций для работы с матрицами. Так, например, транспонирование матрицы производится при помощи апострофа '
Нахождение обратной матрицы проводится с помощью функции inv для квадратных матриц
Основное окно программы MATHCAD:
ДЕЙСТВИЯ НАД МАТРИЦАМИ В МАТКАД. Панель матриц
Окно ввода Insetrt Matrix (ввести матрицу).
Шаблон матрицы
Над векторами определены показанные на рисунке операции сложения и вычитания, транспонирования, умножения по математическим правилам умножения матриц. Знак транспонирования следует вводить с панели Matrix (матрица). Порядковый номер элемента, который является его адресом, называется индексом. Нижняя граница индексации задается значением системной переменной ORIGIN, которая может принимать значение 0 или 1.
Задача 1. Ввести все векторы рис.5 и произвести над ними все действия, проведенные на рисунке. Матрицы в Маткаде вводятся так же, как и векторы, но число столбцов в них больше единицы. Элементами матрицы могут быть также числа, буквы, выражения. Как и в случае векторов, буквенные элементы и элементы – выражения должны быть предварительно определены численно. На рисунке показаны различные способы ввода матриц.
Команды панели Matrix: кнопка индексации элементов матрицы, кнопка обращения матрицы, кнопка скалярного произведения векторов и матриц кнопка транспонирования матрицы, кнопка векторного произведения двух векторов кнопка сложения векторов кнопка выделения столбца матрицы кнопка вычисления детерминанта матрицы.
Maple
Определение матрицы: matrix(n, m, [[a11,a12,…,a1n], [a21,a22,…,a2m],…,[an1,an2,…,anm]]), где n − число строк, m – число столбцов в матрице.
Например: > A:=matrix([[1,2,3],[-3,-2,-1]]); A:= 1 2 3 -3 -2 -1
Диагональная матрица: > J:=diag(1,2,3); 1 0 0 J:= 0 2 0 0 3 0
Генерировать матрицу можно с помощью функции f(i, j) от переменных i, j – индексов матрицы: matrix(n, m, f), где где n - число строк, m – число столбцов. A:=matrix(2,3,f); xy xy^2 xy A:= x^2y x^2y^2 x^2y^3 Число строк в матрице А можно определить с помощью команды rowdim(A), а число столбцов – с помощью команды coldim(A).
Арифметические операции с матрицами. Сложение двух матриц одинаковой размерности осуществляется теми же командами, что и сложение векторов: evalm(A+B) или matadd(A,B). Произведение двух матриц может быть найдено с помощью двух команд: 1) evalm(A&*B); 2) multiply(A,B).
В качестве второго аргумента в командах, вычисляющих произведение, можно указывать вектор, например: > A:=matrix([[1,0],[0,-1]]); > B:=matrix([[-5,1], [7,4]]);
A= 1 0 B:= -5 1 0 -1 7 4 >v:=vector([2,4]); >v := [2,4] multiply(A,v); [2,−4]
multiply(A,B); matadd(A,B); -5 1 -4 1 -7 -4 7 3 Команда evalm позволяет также прибавлять к матрице число и умножать матрицу на число. Например: > С:=matrix([[1,1],[2,3]]): > evalm(2+3*С); 5 3 6 11