Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MATLAB-2.doc
Скачиваний:
0
Добавлен:
19.11.2019
Размер:
203.78 Кб
Скачать
    1. Матричные функции

Весьма представителен в Matlab набор матричных функций:

  • expm(X) возвращает от матрицы X (табл. 3.20). Комплексный результат получается, если X имеет неположительные собственные значения. Функция expm является встроенной и использует разложение Паде. Ее вариант располагается в виде m-файла «expm1.m». Второй метод вычисления матричной экспоненты использует разложение Тейлора и находится в файле «expm2.m». Реализация третьего способа вычисления матричной экспоненты находится в файле «expm3.m» и использует спектральное разложение матрицы А. Этот метод неудачен, если входная матрица не имеет полного набора

линейно независимых собственных векторов;

Таблица 3.20

Матрица

Операция

Матрица

Операция

»X = [1 2; 4 5]

X =

1 2

4 5

»expm(X)

ans =

136.1004 185.0578

370.1155 506.2159

»X = [1 2;4 5]

X =

1 2

4 5

»[Y, esterr] = funm(X, @sqrt)

Y =

0.5373 + 0.5373i 0.7339 – 0.1967i

1.4679 – 0.3933i 2.0052 + 0.1440i

esterr =

9.5688e–016

  • funm(X, @function) возвращает любую функцию от квадратной матрицы X, если правильно ввести имя, составленное из латинских букв. Команды funm(X, @exp), funm(X, @sqrt), funm(X, @log), Hexpm(X), sqrtm(X), logm(X) вычисляют одинаковые функции, но используют соответственно разные алгоритмы. Однако предпочтительнее использовать ехрm(Х), sqrtm(X), logm(X). Операция [Y, esterr] = funm(X, @function) не выдает никакого сообщения, но кроме результата вычислений в матрице Y возвращает грубую оценку относительной погрешности результата вычислений funm в esterr (табл. 3.20). Если матрица X – действительная симметрическая или комплексная эрмитова, то ее форма Шура диагональна и полученный результат может иметь высокую точность;

  • logm(X) возвращает логарифм матрицы (табл. 3.21). Результат получается комплексным, если X имеет отрицательные собственные значения; если матрица X – действительная симметрическая или комплексная эрмитова, то теми же свойствами обладает и logm(X). Операция [Y, esterr] = logm(X) не выдает какого-либо предупреждающего сообщения, но возвращает оценку погрешности в виде относительной невязки norm(expm(Y) – X) / norm(X);

Таблица 3.21

Матрица X

Операция

Матрица X

Операция

»X = [1 2;4 5]

X =

1 2

4 5

»Y = logm(X)

Y =

–0.2110+2.4777i 0.7603–0.9069i

1.5207–1.8138i 1.3097+0.6639i

»X = [1 2;4 5]

X =

1 2

4 5

»Y = sqrtm (X)

Y =

0.5373+0.5373i 0.7339–0.1967i

1.4679–0.3933i 2.0052+0.1440i

  • sqrtm(X) возвращает квадратный корень из X, соответствующий неотрицательным действительным частям собственных значений X. Результат получается комплексным, если X имеет отрицательные собственные значения. Если X вырожденная, то выдает предупреждение об ошибке (табл. 3.21). Операция [Y, resnonii] = sqrtm(X) возвращает оценку погрешности в виде относительной невязки по нормам Фробениуса; [Y, alpha, condest] = sqrtm(X) – функция с тремя выходными аргументами, возвращающая помимо квадратного корня фактор стабильности и оценку числа обусловленности результирующей матрицы Y.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]