目录

1定理

2求解过程

2.1求解B

2.2求解C

3 matlab程序


1定理

设 ,则存在 满足

 A = BC

2求解过程

2.1求解B

       对A仅做初等行变换即可得到简化阶梯形矩阵J,其秩为r,假设主元所在的第列,第...第列(r个线性无关的列向量,组成一个对角矩阵或r个基向量组成一个对角矩阵),然后选取矩阵A中的第列,第...第列组成B。注意此时(r个线性无关的列向量,组成一个对角矩阵或r个基向量组成一个对角矩阵)的对角线元素都应该是1。如果不为1,这应该对乘上相应的因子使其为1,然后不同的列有不同的变换因子,对应的列变换因子乘上B对应的列。

列如下图的B是阶梯简化后的矩阵。取第1,第2列作为基向量矩阵,但是对角元素不为1 ,B的第1列要乘上-1,第2列要乘上0.5才是元素为1的基向量。因此F = (A的第1列*(-1),A的第二列*0.5)组成标题中的B

2.2求解C

J的全为零的行去掉,剩下的行向量组成矩阵C

3 matlab程序

因为rref函数简化后的 基向量的元素都为1,因此程序里面不需要额外乘上变换因子。

function [B,C] = FRdec(A)
%  B = rref(A);
si = size(A);
k = rank(A);
B = zeros(si(1),k);
[C,D]= rref(A);
% D = zeros(1,k);%记录k个线性无关组在C中所在的列
% for i=1:k
%     for j=1:si(2)
%         if C(i,j) == norm(C(:,j));
%            D(i) =  j;
%            continue;
%         end
%     end
% end
for i=1:kB(:,i) = A(:,D(i)); %提取无关组对应的A的列向量
end
C = C(1:k,:);

​​​​​​​

matlab 矩阵满秩分解相关推荐

  1. 求解矩阵A的满秩分解的一般方法

    什么是满秩分解? A是一个m*n大小的矩阵,若存在列满纸矩阵F和行满秩矩阵G使得 A=FG 则称矩阵A有满秩分解,等式A=FG称为A的满秩分解. 1,求A的Hermite标准形: 2,设H中单位子矩阵 ...

  2. 矩阵分解_满秩分解、三角分解、QR分解、奇异值分解

    矩阵的因子分解 满秩分解 分解方法 满秩分解例题 三角分解(LU分解) 分解方法 三角分解例题 LDU分解 分解方法 LDU分解例题 正交三角分解(QR分解) 分解方法 QR分解例题 奇异值分解(SV ...

  3. 矩阵论(零):线性代数基础知识整理(1)——逆矩阵、(广义)初等变换、满秩分解

    矩阵论专栏:专栏(文章按照顺序排序) 线性代数是矩阵论的先修课程,本篇博客整理线性代数的基础理论知识,为矩阵论的学习做准备.限于篇幅,梳理的重点将在定理和结论上(只给出部分必要的定义),对最基础的概念 ...

  4. 三角分解、满秩分解、Schur分解与奇异值分解一网打尽

    文章目录 前言 一.三角分解 二.满秩分解 三.Schur分解 1.UR分解 2.QR分解 四.奇异值分解(SVD) 总结 前言 本文的主要内容是三角分解.满秩分解.Schur分解与奇异值分解的简单介 ...

  5. matlab矩阵的LU分解

    将矩阵分为一个下三角矩阵 LLL 和上三角矩阵 UUU [L,U] = lu(A) format rat 控制输出格式为分数 LLL 为准下三角阶梯矩阵

  6. Matlab 矩阵的LU分解矩阵(公开代码)

    %% LU矩阵 clear clc A=[3,5,4,2;9,22,13,12;18,44,29,31;21,56,46,72];U=A; for m=1:1:size(A,1) for i=m+1: ...

  7. 怎样用matlab做矩阵的LU分解,矩阵LU分解程序实现(Matlab)

    n=4;%确定需要LU分解的矩阵维数 %A=zeros(n,n); L=eye(n,n);P=eye(n,n);U=zeros(n,n);%初始化矩阵 tempU=zeros(1,n);tempP=z ...

  8. matlab矩阵的第一列,matlab提取矩阵第一列

    第2章 MATLAB矩阵及其运算 2.1 变量和数据操作 2.2 MATLAB矩阵 2.3 MATLAB运算 2.4 矩阵分析 2.5 矩阵的超越函数 2.6 字符串 2.7 结构数据和单元数据 2. ...

  9. matlab矩阵非方阵求逆,python – 从numpy或matlab中的满秩非矩形矩阵中获取可逆方阵...

    假设您具有满秩的NxM矩阵A,其中M> N.如果我们用C_i表示列(尺寸为Nx1),那么我们可以将矩阵写为 A = [C_1, C_2, ..., C_M] 如何获得原始矩阵A的第一个线性独立列 ...

  10. matlab矩阵分解

    矩阵分解是指根据一定的原理用某种算法将一个矩阵分解成若干个矩阵的乘积.常见的矩阵分解有LU分解(三角分解).QR分解(正交变换).Cholesky分解,以及Schur分解.Hessenberg分解.奇 ...

最新文章

  1. pandas读取大文件(chunksize)并通过sqlalchemy写入MySQL数据库
  2. java 复制excel jxl_java中使用jxl的jar包处理excel的复制,更新等问题。
  3. java根据经纬度坐标计算两点的距离算法
  4. java实现简单链表
  5. python子类如何继承父类的实例变量?
  6. 完整的端到端的机器学习流程(附代码和数据)|比赛、工程都可以用!
  7. MongoDB 分片的原理、搭建、应用
  8. docker的镜像创建与Dockefile的编写
  9. hive中操作struct与map三例
  10. 在程序中设置infopath中的整型等域值时出错解决方法
  11. python暂停和恢复_python – 暂停和恢复QThread
  12. 201809-2-买菜
  13. 网上免费打电话和国际长途
  14. Snipaste--截屏--贴图
  15. 学习嵌入式怎么入门和提高?嵌入式开发教程pdf
  16. 21.运行Consent Page
  17. 如何友好提示vue3.0不再支持IE11及以下的浏览器版本
  18. 机器视觉_HALCON_示例实践_1.检测圆形
  19. 关于Mac电脑UTF8转码的问题
  20. 【项目实战】传智健康

热门文章

  1. 五花八门的垂直搜索引擎
  2. IDEA中Dubugger设置
  3. 分门别类刷leetcode——二叉树和图(C++实现)
  4. 最强蜗牛服务器维护祷告bug,最强蜗牛地缝bug是什么 最强蜗牛地缝事件漏洞说明...
  5. 职场通病之 - 眼里揉不得沙子
  6. Castaways钓鱼还能参与么,数据来告诉你答案
  7. jarvisoj_typo
  8. 微信小程序重新发起请求加载页面
  9. 抓取猫眼电影TOP10榜数据
  10. Windows7下安装Ubuntu 16.04双系统