下面是matlab中rref函数的代码,求将其改为化矩阵为行阶梯型矩阵的函数,

把一个矩阵化为行最简型应该是先从上至下化为行阶梯,再从下往上化为行最简!

function [A,jb] = rref(A,tol)

%RREF   Reduced row echelon form.

%   R = RREF(A) produces the reduced row echelon form of A.

%

%   [R,jb] = RREF(A) also returns a vector, jb, so that:

%       r = length(jb) is this algorithm's idea of the rank of A,

%       x(jb) are the bound variables in a linear system, Ax = b,

%       A(:,jb) is a basis for the range of A,

%       R(1:r,jb) is the r-by-r identity matrix.

%

%   [R,jb] = RREF(A,TOL) uses the given tolerance in the rank tests.

%

%   Roundoff errors may cause this algorithm to compute a different

%   value for the rank than RANK, ORTH and NULL.

%

%   Class support for input A:

%      float: double, single

%

%   See also RANK, ORTH, NULL, QR, SVD.

%   Copyright 1984-2005 The MathWorks, Inc.

[m,n] = size(A);

% Does it appear that elements of A are ratios of small integers?

[num, den] = rat(A);

rats = isequal(A,num./den);

% Compute the default tolerance if none was provided.

if (nargin < 2), tol = max(m,n)*eps(class(A))*norm(A,'inf'); end

% Loop over the entire matrix.

i = 1;

j = 1;

jb = [];

while (i <= m) && (j <= n)

% Find value and index of largest element in the remainder of column j.

[p,k] = max(abs(A(i:m,j))); k = k+i-1;

if (p <= tol)

% The column is negligible, zero it out.

A(i:m,j) = zeros(m-i+1,1);

j = j + 1;

else

% Remember column index

jb = [jb j];

% Swap i-th and k-th rows.

A([i k],j:n) = A([k i],j:n);

% Divide the pivot row by the pivot element.

A(i,j:n) = A(i,j:n)/A(i,j);

% Subtract multiples of the pivot row from all the other rows.

for k = [1:i-1 i+1:m]

A(k,j:n) = A(k,j:n) - A(k,j)*A(i,j:n);

end

i = i + 1;

j = j + 1;

end

end

% Return "rational" numbers if appropriate.

if rats

[num,den] = rat(A);

A=num./den;

end

matlab 阶梯形矩阵,求化矩阵为阶梯型矩阵的代码(不是行最简函数rref)相关推荐

  1. 【运筹学】线性规划数学模型 ( 知识点回顾 | 可行解 | 最优解 | 阶梯型矩阵 | 阶梯型矩阵向量 | 基 | 基向量 | 基变量 | 非基变量 )

    文章目录 一.知识点回顾 1.线性规划三要素 2.线性规划一般形式 3.线性规划标准形式 二.线性规划解.可行解.最优解 三.阶梯型矩阵 四.阶梯型矩阵向量 五.基.基向量.基变量.非基变量 一.知识 ...

  2. C语言学习之求一个3X3的整型矩阵对角线元素之和。

    求一个3X3的整型矩阵对角线元素之和. int main(){int i,j,sum1=0,sum2=0; //定义 int a[3][3]; //定义数组 //给数组元素赋值 for(i=0;i&l ...

  3. C语言学习之求一个3×3的整型矩阵对角线元素之和

    求一个3×3的整型矩阵对角线元素之和 一条对角线 #include <stdio.h> void main(){int a[3][3],i,j,s,s2;printf("请输入9 ...

  4. 【机器学习中的矩阵求导】(七)矩阵向量化复习

    学习总结 (1)矩阵乘法. Vec⁡(ABC⁡)=(C⊤⊗A)Vec⁡(B)\operatorname{Vec}(\operatorname{ABC})=\left(\mathbf{C}^{\top} ...

  5. java 矩阵求秩_线性代数精华3——矩阵的初等变换与矩阵的秩

    矩阵的初等变换这个概念可能在很多人听来有些陌生,但其实我们早在初中的解多元方程组的时候就用过它.只不过在课本当中,这种方法叫做消元法.我们先来看一个课本里的例子: 假设我们要解这个方程,怎么做呢? 首 ...

  6. 行阶梯型矩阵,行最简形矩阵,标准形矩阵

    行阶梯形矩阵: 行最简形矩阵: 标准形矩阵:

  7. c语言矩阵求伪逆算法pinv,pinv--求矩阵的伪逆矩阵

    pinv--求矩阵的伪逆矩阵 [功能简介]用于求矩阵的伪逆矩阵. [语法格式] 1.B=pinv(A) 函数返回矩阵A的伪逆矩阵.如果矩阵A是可逆(非奇异)的,那么pinv(A)与inv(A)的结果是 ...

  8. (线性代数笔记)2.阶梯型矩阵

    1.阶梯形矩阵的定义 矩阵的主元 2.任意矩阵经过有限次初等行变换化为阶梯形 这里C是由B通过初等行变化得到的,C也是A的阶梯形 3.矩阵的秩 例题(矩阵通过初等行变换转化为阶梯形)

  9. RREF 最简行阶梯型矩阵

    最简行阶梯矩阵 最简行阶梯矩阵-百度百科 Python numpy + sympy import numpy as np from sympy import Matrix A = np.array([ ...

  10. C:求一个3x3的整型矩阵对角线元素之和

    分析 利用二维数组储存矩阵:注意到主对角线i=j,次对角线i+j=2. #include <stdio.h> int main() {int a[3][3] = {0};int i, s1 ...

最新文章

  1. 病症:arm启动后应用程序界面显示…
  2. CodeForces - 224C. Bracket Sequence (栈模拟)简单做法
  3. matlab实现均衡变换,MATLAB如何实现图像增强灰度变换直方图均衡匹配
  4. 深入探究Java中hashCode()和equals()的关系
  5. Android Uri to Path
  6. 转:Ajax调用Webservice和后台方法
  7. 【课本】【No.3】随机向量定义、联合分布函数、边缘分布、统计特征的分布函数的差分,独立性、离散型条件分布列,连续型分布函数与密度函数、随机向量的函数分布
  8. java-第十一章-类的无参方法-模拟ATM机进行账户余额查询
  9. vue3.0 音频插件(vue-aplayer)
  10. 记录一下unity3d资源加载Resources.Load资源加载的坑
  11. ffmpeg实现硬件转码(使用FFmpeg调用NVIDIA GPU实现H265转码H264)
  12. 【一文快速理解23种设计模式】
  13. 关于UWP中下载文件夹操作问题
  14. 太阳能基站光照跟随逐日PLC控制实训设备QY-PV26
  15. excel vba如何在不打开的情况下获取.pdf文件的打印页码数
  16. SSL证书的根证书和中间根证书的区别
  17. 第三方软件测试 CNAS软件测试报告
  18. RAID技术规范简介 RAID0 RAID1 RAID2 RAID3 RAID4 RAID5 RAID6 RAID7
  19. 笔记本wife DNS服务器未响应,为什么手机已经连接上wifi还是上不了网?
  20. 洛谷 P3258 松鼠的新家 题解

热门文章

  1. vue的介绍-基本语法
  2. 【软考信息系统项目管理师】必背重点之信息化和信息系统
  3. 打印机共享无法访问该计算机,共享打印机拒绝访问怎么办详细解决方案
  4. 信捷用c语言编写梯形图,PLC一键启停编程梯形图实例
  5. LaTex的箭头符号及命令
  6. 时区是怎么划分的?世界各时区的时间如何统一表达?GMT、UTC、UNIX有什么区别?
  7. 搭建自己的wiki知识管理系统
  8. python 今日头条视频自动上传_抖音视频怎么上传到今日头条?这个软件可一键操作很方便...
  9. redis持久化(persistent)
  10. 献给正在纠结的朋友——转产品还是转测试