matlab - 如何使用 MATLAB 创建秩 k 矩阵?

标签 matlab matrix linear-algebra

我想创建一个等级矩阵 k . 矩阵的维度是m x n .输入k满足 k < min(m,n) 的条件.

最佳答案

你的目标不是很清楚。

但是为了创建一个具有特定等级 k 的矩阵 B,从矩阵 A(具有 rank 至少 k),您可能喜欢使用 svd 并继续执行以下操作:

>>> A= rand(7, 5);
>>> rank(A)
ans =  5
>>> [U, S, V]= svd(A);
>>> k= 3;
>>> B= U(:, 1: k)* S(1: k, 1: k)* V(:, 1: k)';
>>> rank(B)
ans =  3

关于matlab - 如何使用 MATLAB 创建秩 k 矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7124673/

相关文章:

java - 生成具有一些限制的矩阵的所有可能配置

computational-geometry - 如何确定半球的点x-y-z坐标?

matlab - 在 MATLAB 中的循环内绘图

c++ - Xcode 9.4.1 中的 Apple Mach-O 链接器 (Id) 错误

Python - 如何知道 Matlab 是否提示缺少免费网络许可证

string - 在 MATLAB 中将字母转换为 NATO 字母表

matlab - 不使用 for 循环从 MATLAB 矩阵中提取数据

r - 数字矩阵中每行的数字总和

python - scipy.sparse.linalg.eigs 因抽象线性运算符而失败

python - 这个 Numpy 双循环的向量化