sqrtm

Матричный квадратный корень

Синтаксис

X = sqrtm(A)
[X,resnorm] = sqrtm(A)

Описание

пример

X = sqrtm(A) возвращает матричный X, такой, что X 2 = A и собственные значения X является квадратными корнями из собственных значений A.

пример

[X,resnorm] = sqrtm(A) возвращает матричный X и остаточный norm(A-X^2,'fro')/norm(A,'fro').

Примеры

Вычислите квадратный корень из матрицы

Вычислите квадратный корень из этой матрицы. Поскольку эти числа не являются символьными объектами, вы получаете результаты с плавающей точкой.

A = [2 -2 0; -1 3 0; -1/3 5/3 2];
X = sqrtm(A)
X =
    1.3333   -0.6667    0.0000
   -0.3333    1.6667   -0.0000
   -0.0572    0.5286    1.4142

Теперь, преобразуйте эту матрицу в символьный объект и вычислите его квадратный корень снова:

A = sym([2 -2 0; -1 3 0; -1/3 5/3 2]);
X = sqrtm(A)
X =
[               4/3,          -2/3,       0]
[              -1/3,           5/3,       0]
[ (2*2^(1/2))/3 - 1, 1 - 2^(1/2)/3, 2^(1/2)]

Проверяйте правильность результата:

isAlways(X^2 == A)
ans =
  3×3 logical array
   1   1   1
   1   1   1
   1   1   1

Возвратите невязку матричного квадратного корня

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

A = vpa(sym([0 0; 0 5/3]), 100);
[X,resnorm] = sqrtm(A)
X =
[ 0,                                 0]
[ 0, 1.2909944487358056283930884665941]
 
resnorm =
2.9387358770557187699218413430556e-40

Входные параметры

свернуть все

Введите, заданный как символьная матрица.

Выходные аргументы

свернуть все

Матричный квадратный корень, возвращенный как символьная матрица, таким образом, что X 2 = A.

Невязка, возвращенная как символьное выражение. Невязка вычисляется как norm(A-X^2,'fro')/norm(A,'fro').

Советы

  • Вызов sqrtm для матрицы, которая не является символьным объектом, вызывает функцию MATLAB® sqrtm.

Смотрите также

| | | | | |

Введенный в R2013a

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