close all; clear all; clc; % 关闭所有图形窗口,清除工作空间所有变量,清空命令行
A=[1 2 3 4;5 6 7 8;9 10 11 12];
rank(A) % 求矩阵的秩
解释:
-
A=[1 2 3 4;5 6 7 8;9 10 11 12];
:这行代码创建了一个3x4的矩阵A
。 -
rank(A);
:这行代码使用rank
函数来计算矩阵A
的秩。矩阵的秩是指矩阵中线性无关的行或列的最大数量,或者等价地,是指矩阵中非零奇异值的数量。
拓展:
- 显示结果:可以添加代码来显示矩阵
A
及其秩。
disp('Matrix A:');
disp(A);
disp('Rank of A:');
disp(rank(A));
- 检查矩阵的满秩性:可以演示如何检查矩阵是否是满秩的(即秩等于矩阵的行数或列数)。
% 检查矩阵A是否满秩
if rank(A) == min(size(A))
disp('Matrix A is full rank.');
else
disp('Matrix A is not full rank.');
end
- 矩阵的秩与线性方程组:可以演示矩阵的秩如何影响线性方程组的解。
% 创建一个线性方程组的系数矩阵和常数向量
coefficients = A;
constants = [13; 14; 15];
% 计算方程组的解(如果矩阵是满秩的)
if rank(coefficients) == min(size(coefficients))
solution = coefficients \ constants;
disp('Solution of the linear system:');
disp(solution);
else
disp('The linear system does not have a unique solution because the coefficient matrix is not full rank.');
end
- 矩阵的秩与可逆性:可以演示矩阵的秩如何影响其可逆性。
% 检查矩阵A是否可逆(满秩)
if rank(A) == size(A, 1) && rank(A) == size(A, 2)
disp('Matrix A is invertible.');
else
disp('Matrix A is not invertible.');
end