Команды (линейная алгебра) Maple Matlab
Пакеты linalg и LinearAlgebra системы Maple
Функции пакетов linalg и LinearAlgebra подключаются командой with(название пакета)
addcol — формирует линейные комбинации из столбцов матрицы
addrow — формирует линейные комбинации из строк матрицы
adj — возвращает матрицу, умножение которой на исходную квадратную матрицу дает единичную матрицу
angle — вычисляет угол между векторами
basis — находит базис для векторного пространства
BlockDiagonal — создает блок-диагональную матрицу
blockmatrix — создает блок-матрицу
charmat — создает характеристическую матрицу
charpoly — возвращает характеристический полином матрицы
сurl — ищет ротор векторного поля
definite — тест на положительные (отрицательные) определенные матрицы
delcols — удаляет столбцы матрицы
delrows — удаляет строки матрицы
del — вычисляет детерминант матрицы
diverge — ищет дивергенцию векторного поля
eigenvals — вычисляет собственные значения матрицы
eigenvects — вычисляет собственные векторы матрицы
evalm — выполняет операции над матрицами (сложение: «+», умножение: «&*», и т.д.)
extend — расширяет матрицу
GramSchmidt — вычисляет ортогональные векторы
hermite — Эрмитовая нормальная форма матрицы
hessian — вычисляет Hessian-матрицу выражения
hilbert — создает матрицу Гильберта
intbasis — определить базис для пересечения пространства
inverse — вычисляет обратную матрицу
linsolve — решение линейных уравнений
Ludecomp — осуществляет LU-декомпозицию
matrix — создает матрицу
minor — вычисляет миноры матрицы
norm — норма матрицы или вектора
normalize — нормирует вектор
rank — возвращает ранг матрицы
references — выводит список основополагающих работ по линейной алгебре
trace — возвращает след матрицы
transpose — вычисляет транспонированную матрицу
vector — создает вектор
wronskian — матрица Вронскиана векторных функции
Matlab
inv — вычисление обратной матрицы
orth — вычисление ортонормированного базиса
rank — ранг матрицы
det — определитель матрицы
Вычисление собственных значений и сингулярных чисел
eig, cdf2rdf — собственные значения и собственные векторы матрицы
Полиномы и операции над ними
polyval — вычисление полинома
deconv — деление полиномов
roots — вычисление корней полиномов
poly — вычисление характеристического полинома
residue, resi2 — разложение на простые дроби
Математические функции
sin, cos, tan, acos, asin, exp, log, sqrt, rand, round fix abs angle real imag conj
Арифметические и матричные операции
+ — сложение чисел, векторов, матриц
— — вычитание чисел, векторов, матриц
* — умножение чисел, совместные матриц и векторов
.* — поэлементное умножение векторов и матриц одного размера/ — деление чисел, умножение на обратную матрицу справа
./ — поэлементное деление векторов и матриц одного размера
\ —умножение на обратную матрицу слева
^ — возведение числа или квадратной матрицы в степень
.^ — поэлементное возведение матрицы в степень
’ — транспонирование
size — возвращение размеров матрицы или вектора
length — возвращение числа компонент вектора
sum —суммирование элементов вектора
norm — вычисление норма матрицы или вектора
Символьные вычисления в Matlab
В Matlab версии 5 и выше встроен интерфейс прямого вызова команд системы компьютерной алгебры Maple. Для этого используется функция maple в той или иной форме:
1) maple (statement) — устанавливает выражение statement для ядра Maple. statement является строкой, записанной в формате команд Maple. Возвращает результат в форме строки с нотацией системы Maple V;
2) maple (’function’, arg1, arg2,…) — даёт доступ к Maple-функциям с заданными аргументами;
3) [result, status]=maple(…) — возвращает результат и статус сообщений/ошибок, если они возникают в ходе вычислений заданной функции.
Пример.
» maple(’sin(1)’) ans= sin(1) | » maple(’evalf(sin(1))’) ans= .84147098480789650665250232163030 | » maple(’sqrt’,2) ans= 2^(1/2) | » maple(’evalf(sin)’, 1) ans= sin(1) |
Пример. Найти для. Решить относительноy уравнение .
Необходимо выполнить:
» maple(’ f:=x+2*t*y-t-2*t^3;’)
» maple(’ g:=diff(f,t)’)
» maple(’ h:=solve(g,y)’)
Matlab имеет интерактивную систему помощи, которая реализуется в командном режиме с помощью ряда команд. Одной из них является команда
» help
Чтобы получить дополнительную информацию по Maple, необходимо набрать
» mhelp
или
» maple(’help’).
Для получения справке по команде maple ввести:
» mhelp имя_команды
studfiles.net
Обращение матриц — функции inv, pinv MatLab
Урок 11. Матричные операции линейной алгебры
Вычисление
нормы и чисел обусловленности матрицы
Определитель
и ранг матрицы
Определение нормы вектора
Определение ортонормированного базиса матрицы
Функции
приведения матрицы к треугольной форме
Определение
угла между двумя подпространствами
Вычисление следа
матрицы
Разложение Холецкого
Обращение матриц — функции inv, pinv
LU- и QR-разложения
Вычисление собственных значений и сингулярных чисел
Приведение матриц к форме Шура и Хессенберга
Что нового мы узнали?
Обращение матриц — одна из наиболее распространенных операций матричного анализа. Обратной называют матрицу, получаемую в результате деления единичной матрицы Е на исходную матрицу X. Таким образом, Х^-1=Е/Х. Следующие функции обеспечивают реализацию данной операции:
inv(X) — возвращает матрицу, обратную квадратной матрице X. Предупреждающее сообщение выдается, если X плохо масштабирована или близка к вырожденной.
Пример:
» inv(rand(4,4))
ans =
2.2631
-2.3495-0.4696-0.6631
-0.76201.2122
1.7041 -1.2146
-2.04081.4228 1.5538 1.3730
1.3075 -0.0183-2.54830.6344
На практике вычисление явной обратной матрицы не так уж необходимо. Чаще операцию обращения применяют при решении системы линейных уравнений вида Ах=b. Один из путей решения этой системы — вычисление x=inv(A)*b. Но лучшим с точки зрения минимизации времени расчета и повышения точности вычислений является использование оператора матричного деления х=А\b. Эта операция использует метод исключения Гаусса без явного формирования обратной матрицы.
В = pinv(A)
— возвращает матрицу, псевдообратную матрице А (псевдообращение матрицы
по Муру-Пенроузу). Результатом псевдообращения матрицы по Муру-Пенроузу
является матрица В того же размера, что и А’, и удовлетворяющая условиям
А*В*А=А и В*А*В=В. Вычисление основано на использовании функции svd(A) и
приравнивании к нулю всех сингулярных чисел, меньших величины tol;
В = pinv (A. tol) — возвращает псевдообратную матрицу и отменяет заданный по умолчанию порог, равный max(size(A))*norm(A)*eps.
Пример:
» pinv(rand(4,3))
ans =
-1.3907-0.0485-0.24931.8640
-0.87751.1636 0.6605 -0.0034
2.0906 -0.5921-0.2749-0.5987
radiomaster.ru
1 2 3 4 5 6 Доступ к элементам матриц осуществляется при помощи двух индексов — номеров строки и столбца, заключенных в круглые скобки, например команда B(2,3) выдаст элемент второй строки и третьего столбца матрицы B. Для выделения из матрицы столбца или строки следует в качестве одного из индексов использовать номер столбца или строки матрицы, а другой индекс заменить двоеточием. Например, запишем вторую строку матрицы A в вектор z Также можно осуществлять выделение блоков матриц при помощи двоеточия. Например, выделим из матрицы P блок отмеченный цветом Если необходимо посмотреть переменные рабочей среды, в командной строке необходимо набрать команду whos. Команда who выводит только имена переменных Видно, что в рабочей среде содержатся один скаляр (p), четыре матрицы (A, B, P, P1) и вектор-строка (z). 2.3. Основные матричные операцииПри использовании матричных операций следует помнить, что для сложения или вычитания матрицы должны быть одного размера, а при перемножении число столбцов первой матрицы обязано равняться числу строк второй матрицы. Сложение и вычитание матриц, так же как чисел и векторов, осуществляется при помощи знаков плюс и минус а умножение — знаком звездочка *. Введем матрицу размером 3×2 Умножение матрицы на число тоже осуществляется при помощи звездочки, причем умножать на число можно как справа, так и слева. Возведение квадратной матрицы в целую степень производится с использованием оператора ^ 2.4. Создание матриц специального видаЗаполнение прямоугольной матрицы нулями производится встроенной функцией zeros Единичная матрица создается при помощи функции eye Матрица, состоящая из единиц, образуется в результате вызова функции ones MatLab предоставляет возможность заполнения матриц случайными числами. Результатом функции rand является матрица чисел, равномерно распределенных между нулем и единицей, а функции randn — матрица чисел, распределенных по нормальному закону с нулевым средним и единичной дисперсией. Функция diag формирует диагональную матрицу из вектора, располагая элементы по диагонали. Пример. 2.5. Матричные вычисленияMatLab содержит множество различных функций для работы с матрицами. Так, например, транспонирование матрицы производится при помощи апострофа ‘ Нахождение обратной матрицы проводится с помощью функции inv для квадратных матриц Псевдообратную матрицу можно найти с помощью функции pinv. Более подробно про обработку матричных данных можно узнать, если вывести список всех встроенных функций обработки данных командой help datafun, а затем посмотреть информацию о нужной функции, например help max. 2.6. Справочник по формированию и операциям над матрицамиФормирование массивов специального вида
Операции над матрицами
Специальные матрицы
2.7. Присвоение матрице математического выраженияОрганизация всех переменных системы MATLAB как матрицы вызывает следующие ограничения применения их в выражениях. Например: t=1:5 t= 1 2 3 4 5 y=cos(t) y=1 0.5 -0.4 -1 -0.6 0.2 z=y/t z=-0.08 Результат — получается одно число, а ожидали функцию z(t)=cos(t)/t. Для организации поэлементного деления одного массива на другой, в MATLAB предусмотрена специальная операция — «./» — поэлементное деление. Результат этого выражения будет другой: z=y ./ t z= 0.5403 -0.2081 -0.3300 -0.1634 0.0567. В системе MATLAB имеется обширная библиотека математических функций. Каждой функции соответствует определенное имя. Функция ставит в соответствие значениям своих аргументов значение результата. Аргументы функции всегда указываются в круглых скобках после имени функции и, если их больше одного, разделяются запятыми. В качестве аргументов могут использоваться другие функции и любые выражения языка MATLAB (при условии соответствия типов аргументов). Элементарная математическая функция — это, как правило, функция от одной переменной, и в этом случае устанавливается соответствие между массивами значений аргумента и результата. Аргумент указывается в круглых скобках после имени функции. Имя переменной, которой присваивается значение функции, располагается слева от знака равенства. Если имя присваиваемой переменной не указано, значение функции присваивается служебной переменной ans. Тип результата вычисления математической функции всегда совпадает с типом ее аргумента. Например, если аргументом функции является вектор-столбец, то значением этой функции также будет вектор-столбец. Рассмотрим встроенные математические функции системы MATLAB, которые применяются к числам, скалярным переменным и к массивам (поэлементно). Базовые функции
Трансцендентные функции
Тригонометрические функции
Преобразования системы координат
Специальные функции
|
topuch.ru