Методические указания к выполнению лабораторных работ по дисциплине «Интеллектуальные информационные системы» Санкт-Петербург

Вид материалаМетодические указания

Содержание


Матричные вычисления на основе универсальной системы matlab
Функции описания матриц
Знаки операций
Матричные характеристики
Команды линейной алгебры
Команды факторизации
Команды вычисления спектра
А служит команда>>[U,S,V] = svd(A)
Подобный материал:
1   2   3   4   5   6   7   8   9   ...   13

МАТРИЧНЫЕ ВЫЧИСЛЕНИЯ НА ОСНОВЕ УНИВЕРСАЛЬНОЙ СИСТЕМЫ MATLAB

  1. Задание матриц



По умолчанию все числовые переменные в MATLAB считаются матрицами с комплексными числами. Скалярная величина есть матрица первого порядка, а векторы являются матрицами, состоящими из одного столбца. Матрицу можно ввести, задавая элементы матрицы или считывая данные из файла, а также в результате обращения к стандартной или написанной пользователем функции. Элементы матрицы в пределах строки отделяются пробелами или запятыми.


[ ] – квадратные скобки используются при задании матриц и векторов;

пробел служит для разделения элементов матриц;

, запятая применяется для разделения элементов матриц и операторов в строке ввода;

; точка с запятой отделяет строки матриц, а точка с запятой в конце оператора (команды) отменяет вывод результата на экран;

: двоеточие используется для указания диапазона (интервала изменения величины) и в качестве знака групповой операции над элементами матриц;

() круглые скобки применяются для задания порядка выполнения математических операций, а также для указания аргументов функций и индексов матриц;

. точка отделяет дробную часть числа от целой его части, а также применяется в составе комбинированных знаков;

… три точки и более в конце строки отмечают продолжение выражения на следующей строке;

% знак процента обозначает начало комментария.


Большую матрицу можно определить поэлементно при помощи оператора цикла или набрать ее в обычном редакторе в виде ASCII-файла (например, data.ext), а затем считать при помощи команды


>>load data.ext


В результате матрица будет присвоена переменной data.
    1. Матричные вычисления

      1. Функции описания матриц



eye единичная матрица;

zeros нулевая матрица;

ones матрица из единиц;

rand случайная матрица со значениями из интервала [0,1];

hilb гильбертова матрица;

diag создание диагональной матрицы или выделение диагонали;

triu выделение верхней треугольной части матрицы;

tril выделение нижней треугольной части матрицы.

      1. Знаки операций


+,- символы плюс и минус обозначают знак числа или операцию сложения или вычитания матриц, причем матрицы должны быть одной размерности;

 знак умножения обозначает матричное умножение;

‘ апостроф обозначает операцию транспонирования (вместе с комплексным сопряжением);

/ левое деление;

\ правое деление;

оператор возведения в степень.

      1. Матричные характеристики



det вычисление определителя;

trace вычисление следа матрицы;

rank определение ранга матрицы;

norm вычисление нормы матрицы;

normest оценка нормы матрицы.

      1. Команды линейной алгебры



inv вычисление обратной матрицы;

pinv вычисление псевдообратной матрицы;

null определение ядра (нуль-пространства) матрицы;

orth вычисление ортонормированного базиса.

      1. Команды факторизации



chol разложение Холецкого для симметричных, положительно-определенных матриц;

cholnc неполное разложение Холецкого (представление симметричной матрицы в виде произведения верхней треугольной и транспонированной матриц);

lu LU-разложение (для квадратных матриц);

hess приведение к форме Хессенберга;

rref приведение к треугольной форме;

qr QR-разложение (представление матрицы в виде произведения ортогональной и верхней треугольной матриц).

      1. Команды вычисления спектра



poly вычисление характеристического полинома для квадратной матрицы. В результате выполнения команды будут получены коэффициенты нормированного характеристического полинома a1, a2, ….,an:

det(pE – A)=pn +a1pn-1 +a2pn-2 + ….+ an;

polyeig вычисление собственных значений матричного полинома;

eig вычисление собственных чисел и векторов;

schur декомпозиция (разложение) Шура;

svd сингулярное разложение матрицы (SVD-разложение).


Для определения собственных значений и собственных векторов матрицы А служит команда


[U, D] = eig(A)


Здесь диагональная матрица D состоит из собственных чисел, а матрица U составлена из собственных векторов-столбцов матрицы А. Если в левой части указан единственный выходной параметр, то результатом будет выступать вектор-столбец собственных чисел eig(A).

Функция svd определяет сингулярное разложение матрицы. Сингулярное число s и соответствующие ему векторы u и v матрицы А удовлетворяют равенствам


Av = su, AТ u = sv.

Здесь AТтранспонированная матрица, s – вещественное число. Образуем матрицу S, в которой расположены на диагонали сингулярные числа. Тогда AV = US, AТU = VS, и A = USVТ. Диагональ матрицы S состоит из положительных значений квадратных корней матрицы АТА. Если матрица А симметричная и положительно определенная, то сингулярные числа совпадают с собственными значениями матрицы А.

Вектор сингулярных чисел получается при обращении с одним выходным параметром S = svd(А)

Для выполнения сингулярного разложения заданной матрицы А служит команда


>>[U,S,V] = svd(A),


где U, V – соответственно, матрицы левых и правых сингулярных векторов, S – матрица сингулярных чисел.