Maple matematik paketi национальный университет имена Мирза Улугбек
Скачать 282.26 Kb.
|
Maple MATEMATIK PAKETI Национальный университет имена Мирза Улугбек Наврузов Э.Р. Основная часть команд для решения задач линейной алгебры содержится в библиотеке linalg. Поэтому перед решением задач с матрицами и векторами следует загрузить эту библиотеку командой with(linalg). Способы задания векторов. Для определения вектора в Maple используется команда vector([x1,x2,…,xn]), где в квадратных скобках через запятую указываются координаты вектора. Например: > x:=vector([1,0,0]); x:=[1, 0, 0] Координату уже определенного вектора x можно получить в строке вывода, если ввести команду x[i] , где i − номер координаты. Например, первую координату заданного в предыдущем примере вектора можно вывести так: > x[1]; 1 Сложение векторов. Сложить два вектора a и b можно с помощью двух команд:
2) matadd(a,b). Векторная алгебра Команда add позволяет вычислять линейную комбинацию векторов a и b: α*a + β*b , где α, β − скалярные величины, если использовать формат: matadd(a,b,alpha,beta). Скалярное произведение двух векторов вычисляется командой dotprod(a,b). Векторное произведение двух векторов [a,b] вычисляется командой crossprod(a,b). Угол между двумя векторами a и b вычисляется с помощью команды angle(a,b). Норма вектора. Норму ( длину) вектора которая равна можно вычислить с помощью команды norm(а,2). Можно нормировать вектор а с помощью команды normalize(a), в результате выполнения которой будет получен вектор единичной длины Скалярное, векторное произведение векторов и угол между векторами Даны два вектора: a=(2,1,3,2) и b=(1,2,-2,1) . Найти (a,b) и угол между a и b. Для решния этой задачи наберите: > with(linalg): > a:=([2,1,3,2]); b:=([1,2,-2,1]); > dotprod(a,b); 0 > phi=angle(a,b); Найти векторное произведение c=[a,b], а затем скалярное произведение (a,c), где a=(2, -2, 1), b=(2,3,6). > restart; with(linalg): > a:=([2,-2,1]); b:=([2,3,6]); > c:=crossprod(a,b); > dotprod(a,c); 0 Задание 1 Определение матрицы. Для определения матрицы в Maple можно использовать команду matrix(n, m, [[a11,a12,…,a1n], [a21,a22,…,a2m],…, [an1,an2,…,anm]]), где n − число строк, m – число столбцов в матрице. Эти числа задавать необязательно, а достаточно перечислить элементы матрицы построчно в квадратных скобках через запятую. Например: > A:=matrix([[1,2,3],[-3,-2,-1]]); В Maple матрицы специального вида можно генерировать с помощью дополнительных команд. В частности диагональную матрицу можно получить командой diag. Например: > J:=diag(1,2,3); Действия с матрицами Генерировать матрицу можно с помощью функции f(i, j) от переменных i, j – индексов матрицы: matrix(n, m, f), где где n - число строк, m – число столбцов. Например: > f:=(i, j)->x^i*y^j; > A:=matrix(2,3,f); Число строк в матрице А можно определить с помощью команды rowdim(A), а число столбцов – с помощью команды coldim(A) Арифметические операции с матрицами. Сложение двух матриц одинаковой размерности осуществляется теми же командами, что и сложение векторов: evalm(A+B) или matadd(A,B). Произведение двух матриц может быть найдено с помощью двух команд:
2) multiply(A,B). Арифметические операции с матрицами В качестве второго аргумента в командах, вычисляющих произведение, можно указывать вектор, например: > A:=matrix([[1,0],[0,-1]]); > B:=matrix([[-5,1], [7,4]]); > v:=vector([2,4]); > multiply(A,v); > multiply(A,B); > matadd(A,B); Арифметические операции с матрицами Определитель матрицы А вычисляется командой det(A). Команда minor(A,i,j) возвращает матрицу, полученную из исходной матрицы А вычеркиванием i-ой строки и j-ого столбца. Минор Mij элемента aij матрицы А можно вычислить командой det(minor(A,i,j)). Ранг матрицы А вычисляется командой rank(A). След матрицы А, равный сумме ее диагональных элементов, вычисляется командой trace(A). > A:=matrix([[4,0,5],[0,1,-6],[3,0,4]]); > det(A); 1 > minor(А,3,2); > det(%); -24 > trace(A); 9 Определители, миноры и алгебраические дополнения. Ранг и след матрицы. Обратную матрицу , такую что , где E-единичная матрица, можно вычислить двумя способами: 1) evalm(1/A);
Транспонирование матрицы А – это изменение местами строк и столбцов. Полученная в результате этого матрица называется транспонированной и обозначается А'. Транспонированную матрицу А' можно вычислить командой transpose(A). Например, используя заданную в предыдущем пункте матрицу А, найдем ей обратную и транспонированную: > inverse(A); Обратная и транспонированная матрицы > multiply(A,%); > transpose(A); Обратная и транспонированная матрицы Функции от матриц Возведение матрицы А в степень n производится командой evalm(A^n). Вычисление матричной экспоненты возможно с помощью команды exponential(A). Например: > Т:=matrix([[5*a,2*b],[-2*b,5*a]]); > exponential(Т); > evalm(Т^2); 2. Даны матрицы: Найти: (AB)C , detA, detB, detC, det[(AB)C]. Наберите: > with(linalg):restart; > A:=matrix([[4,3],[7,5]]): > B:=matrix([[-28,93],[38,-126]]): > C:=matrix([[7,3],[2,1]]): > F:=evalm(A&*B&*C); > Det(A)=det(A); Det(B)=det(B); Det(C)=det(C); Det(F)=det(F); Задание 2 Дана матрица , найти: Наберите: > A:=matrix([[2,5,7],[6,3,4],[5,-2,-3]]); > Det(A)=det(A); > transpose(A); > inverse(A); > det(minor(A,2,2)); -41 Задание 3 1.Найти ранг матрицы > A:=matrix([[8,-4,5,5,9], [1,-3,-5,0,-7], [7,-5,1,4,1], [3,-1,3,2,5]]): > r(A)=rank(A); 2. > exponential([[3,-1],[1,1]]); Задание 3 Дана матрица . Найти значение многочлена > A:=matrix([[5,1,4],[3,3,2],[6,2,10]]): > P(A)=evalm(A^3-18*A^2+64*A); Задание 4 Благодарю за внимание. |