线性代数 · 矩阵 · Matlab | 满秩分解代码实现
背景 - 矩阵的满秩分解:
- 若 A 为 m×n 矩阵,rank(A) = r,则存在 F m×r、G r×n,使得 A = FG。
- 其中,F 列满秩,G 行满秩。
- 求满秩分解的方法:
- 得到 A 的行最简形式 B;
- 对于 B 里某列为 1 该列中其他元素为零的列,取 A 的对应列,组成 F;
- 取 B 的前 r 行组成 G。
function[F,G] = fullrank_decompose(A) r = rank(A); if r == 0; disp('无满秩分解,重新输入') end [m,n] = size(A); B = rref(A);%行最简 F = []; for i = 1:r for j = 1:n if B(i,j) == 1 F = [F, A(:,j)]; break end end end % F = A(:, 1:m); G = B(1:r, :); end
本文作者:MoonOut
本文链接:https://www.cnblogs.com/moonout/p/17809562.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
分类:
🥝 数学频道
, 🍇 THUDA · PhD 笔记
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步