exponenta event banner

det

Определитель символьной матрицы

Описание

пример

B = det(A) возвращает определитель квадратной матрицы символьных скалярных переменных A.

пример

B = det(A,'Algorithm','minor-expansion') использует алгоритм незначительного расширения для оценки определителя A.

пример

B = det(M) возвращает определитель переменной квадратной символьной матрицы M. (с R2021a года)

Примеры

свернуть все

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

syms a b c d
M = [a b; c d];
B = det(M)
B = ad-bca*d - b*c

Вычислите определитель матрицы, содержащей символьные числа.

A = sym([2/3 1/3; 1 1]);
B = det(A)
B = 

13sym(1/3)

Создайте символьную матрицу, содержащую элементы полинома.

syms a x 
A = [1, a*x^2+x, x;
     0, a*x, 2;
     3*x+2, a*x^2-1, 0]
A = 

(1ax2+xx0ax23x+2ax2-10)[sym(1), a*x^2 + x, x; sym(0), a*x, sym(2); 3*x + 2, a*x^2 - 1, sym(0)]

Вычислите определитель матрицы, используя незначительное расширение.

B = det(A,'Algorithm','minor-expansion')
B = 3ax3+6x2+4x+23*a*x^3 + 6*x^2 + 4*x + 2

С R2021a г.

В этом примере показано, как вычислить определитель блочной матрицы. Например, найдите определитель матрицы блоков 4 на 4

M = [A0CB]

где A, B и C - подматрицы 2 на 2.

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

syms A B C [2 2] matrix
Z = symmatrix(zeros(2))
Z = 02,2symmatrix(zero(2, 2))
M = [A Z; C B]
M = 

(A02,2CB)[[symmatrix('A', [2 2]), symmatrix(zero(2, 2))]; [symmatrix('C', [2 2]), symmatrix('B', [2 2])]]

Найти определитель матрицы М.

det(M)
ans = 

det(A02,2CB)det([[symmatrix('A', [2 2]), symmatrix(zero(2, 2))]; [symmatrix('C', [2 2]), symmatrix('B', [2 2])]])

Преобразование результата из переменной символьной матрицы в символьные скалярные переменные с помощью symmatrix2sym.

D1 = simplify(symmatrix2sym(det(M)))
D1 = A1,1A2,2-A1,2A2,1B1,1B2,2-B1,2B2,1(A1_1*A2_2 - A1_2*A2_1)*(B1_1*B2_2 - B1_2*B2_1)

Проверьте, равен ли определитель матрицы M определителю A, умноженному на определитель B.

D2 = symmatrix2sym(det(A)*det(B))
D2 = A1,1A2,2-A1,2A2,1B1,1B2,2-B1,2B2,1(A1_1*A2_2 - A1_2*A2_1)*(B1_1*B2_2 - B1_2*B2_1)
isequal(D1,D2)
ans = logical
   1

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

свернуть все

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

Типы данных: single | double | sym

Ввод, определяемый как переменная квадратной символьной матрицы (начиная с версии R2021a).

Типы данных: symmatrix

Совет

  • Матричные вычисления, включающие множество символьных скалярных переменных, могут быть медленными. Чтобы увеличить вычислительную скорость, уменьшите число символьных скалярных переменных, подставив заданные значения для некоторых переменных.

  • Метод незначительного расширения обычно полезен для оценки определителя матрицы, которая содержит много символьных скалярных переменных. Этот метод часто подходит для матриц, которые содержат полиномиальные записи с многомерными коэффициентами.

Ссылки

[1] Хованова, Т. и З. Скалли. «Эффективный расчет определителей символьных матриц с множеством переменных». arXiv препринт arXiv:1304.4691 (2013).

См. также

|

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