MATLAB det():求矩阵的行列式(附带实例)
行列式是线性代数中的一个重要概念,它是一个方阵(行数与列数相同的矩阵)所对应的标量。行列式可以用来判断矩阵是否可逆、描述线性变换的性质、求解线性方程组等。
在 MATLAB 中,利用 det() 函数可以求解矩阵的行列式,其调用格式如下:
【实例】求解矩阵的行列式。在编辑器中编写以下程序,并保存为 det_test.m 文件:
在命令行窗口中输入以下语句,并查看输出结果:
函数 det() 除可以计算数值矩阵的行列式之外,还可以计算符号矩阵的行列式,此时的调用格式如下:
【实例】求解符号矩阵的行列式。在命令行窗口中输入以下语句,并查看输出结果。
在 MATLAB 中,利用 det() 函数可以求解矩阵的行列式,其调用格式如下:
d = det(x) % 求解矩阵 x 的行列式,如果输入的参数是一个常数,则返回该常数
【实例】求解矩阵的行列式。在编辑器中编写以下程序,并保存为 det_test.m 文件:
rng("default"); % 数据可复现 for i = 1:3 S = rand(i+2); % 产生随机矩阵 s(i) = det(S); % 计算矩阵的行列式 disp('Matrix:'); disp(S); disp('deter:'); disp(num2str(s(i))); end
在命令行窗口中输入以下语句,并查看输出结果:
>> det_test Matrix: 0.8147 0.9134 0.2785 0.9058 0.6324 0.5469 0.1270 0.0975 0.9575 deter: -0.27665 Matrix: 0.9649 0.4854 0.9157 0.0357 0.1576 0.8003 0.7922 0.8491 0.9706 0.1419 0.9595 0.9340 0.9572 0.4218 0.6557 0.6787 deter: 0.35299 Matrix: 0.7577 0.7060 0.8235 0.4387 0.4898 0.7431 0.0318 0.6948 0.3816 0.4456 0.3922 0.2769 0.3171 0.7655 0.6463 0.6555 0.0462 0.9502 0.7952 0.7094 0.1712 0.0971 0.0344 0.1869 0.7547 deter: 0.064745
函数 det() 除可以计算数值矩阵的行列式之外,还可以计算符号矩阵的行列式,此时的调用格式如下:
B = det(A) % 返回符号数、符号变量或函数矩阵 A 的行列式 B = det(A,'Algorithm','minor-expansion') % 使用代数余子式展开法(minor-expansion)计算矩阵 A 的行列式 B = det(M) % 返回符号矩阵或矩阵函数 M 的行列式
【实例】求解符号矩阵的行列式。在命令行窗口中输入以下语句,并查看输出结果。
>> syms a b c d >> A = [a b; c d]; >> B = det(A) B = a*d - b*c >> A1 = sym([2/3 1/3; 1 1]); >> B2 = det(A1) B2 = 1/3 >> syms a x >> A2 = [1, a*x^2+x, x; 0, a*x, 2; 3*x+2, a*x^2-1, 0]; >> B2 = det(A2,'Algorithm','minor-expansion') B2 = 3*a*x^3 + 6*x^2 + 4*x + 2