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
ICP备案:
公安联网备案: