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 (нуль (2, 2))
M = [A Z; C B]
M = 

(A02,2CB)[[symmatrix ([2 2]), symmatrix (нуль (2, 2))]; [symmatrix ('C', [2 2]), symmatrix ('B', [2 2])]]

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

det(M)
ans = 

det(A02,2CB)det ([[symmatrix ([2 2]), symmatrix (нуль (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] Хованова, T. и З. Скалли. "Эффективное Вычисление Определителей Символьных Матриц со Многими Переменными". arXiv предварительно распечатывают arXiv:1304.4691 (2013).

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

|

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