trace

Сумма диагональных элементов

Синтаксис

Описание

пример

b = trace(A) вычисляет сумму диагональных элементов матричного A:

tr(A)=i=1naii=a11+a22+...+ann.

Примеры

свернуть все

Создайте 3х3 матрицу и вычислите сумму диагональных элементов.

A = [1 -5 2; 
    -3  7 9; 
     4 -1 6];

b = trace(A)
b = 14

Результат tr(A)=14 соглашается с ручным вычислением.

A=[a11a12a13a21a22a23a31a32a33]=[1-52-3794-16],

tr(A)=i=13aii=a11+a22+a33=1+7+6=14.

Проверьте несколько свойств трассировки матрицы (до ошибки округления).

Создайте две матрицы. VerifyThat tr(A+B)=tr(A)+tr(B).

A = magic(3);
B = rand(3);
trace(A+B) 
ans = 17.4046
trace(A) + trace(B)
ans = 17.4046

VerifyThat tr(A)=tr(AT)).

trace(A)
ans = 15
trace(A')
ans = 15

VerifyThat tr(ATB)=tr(ABT).

trace(A'*B) 
ans = 22.1103
trace(A*B')
ans = 22.1103

VerifyThat tr(cA)=ctr(A) для скаляра c.

c = 5;
trace(c*A) 
ans = 75
c*trace(A)
ans = 75

Проверьте, что трассировка равняется сумме собственных значений tr(A)=iλi.

trace(A)
ans = 15
sum(eig(A))
ans = 15.0000

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

свернуть все

Введите матрицу в виде квадратной матрицы. A может быть полным или разреженным.

Типы данных: single | double
Поддержка комплексного числа: Да

Алгоритмы

trace извлекает диагональные элементы и добавляет их вместе с командой sum(diag(A)). Значение трассировки является тем же самым (до ошибки округления) как сумма матричных собственных значений sum(eig(A)).

Расширенные возможности

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

| |

Представлено до R2006a