文档

rref

行简化阶梯形(Gauss-Jordan消去)

描述

例子

R= rref (一个返回行简化阶梯形一个高斯-乔丹消去部分旋转

R= rref (一个托尔指定算法用于确定可忽略列的枢轴公差。

例子

(Rp= rref(一个还返回非零的枢轴p

例子

全部折叠

创建一个矩阵并计算行简化阶梯形。在这种形式中,矩阵在每列的枢轴位置都有前导1。

A =魔术(3)
一个=3×38 1 6 3 5 7 4 9 2
RA = rref(A)
RA =3×31 0 0 0 1 0 0 0 1

3 × 3魔方阵是满秩的,所以行简化阶梯形是单位矩阵。

现在,计算4 × 4魔方阵的行简化阶梯形。指定两个输出以返回非零主列。由于这个矩阵是秩亏矩阵,所以结果不是单位矩阵。

B =魔术(4)
B =4×416 2 3 13 5 11 10 8 9 7 6 12 4 14 15
[RB,p] = rref(B)
RB =4×41 0 0 1 0 1 0 3 0 1 -3 0 0 0 0
p =1×31 2 3

利用增广矩阵的高斯-约当消去法求解线性方程组,计算矩阵逆。这些技术主要是出于学术兴趣,因为有更有效和数值稳定的方法来计算这些值。

创建一个3乘3的神奇方阵。在矩阵的末尾添加另一列。这个增广矩阵表示一个线性系统 斧头 = b 的额外列对应 b

A =魔术(3);A(:,4) = [1;1;1]
一个=3×48 1 6 1 3 5 7 1 4 9 2 1

计算的行简化阶梯形一个。索引R提取额外(增强)列中的项,其中包含线性系统的解。

R = rref(A)
R =3×41.0000 00 0.0667 0 1.0000 0 0.0667 00 1.0000 0.0667
x = R(:,end)
x =3×10.0667 0.0667 0.0667

求解这个线性系统的一个更有效的方法是使用反斜杠运算符,x = A\b

创建一个类似的魔方矩阵,但这次在结束列上附加一个相同大小的单位矩阵。

A =[魔眼(3)]
一个=3×68 1 6 1 0 0 3 5 7 0 1 0 4 9 2 0 0 1

计算的行简化阶梯形一个。在这种形式中,额外的列包含3 × 3魔方阵的逆矩阵。

R = rref(A)
R =3×61.0000 00 0.1472 -0.1444 0.0639 0 1.0000 0 -0.0611 0.0222 0.1056 00 1.0000 -0.0194 0.1889 -0.1028
inv_A = R(:,4:end)
inv_A =3×30.1472 -0.1444 0.0639 -0.0611 0.0222 0.1056 -0.0194 0.1889 -0.1028

一个更有效的计算逆矩阵的方法是发票(一个)

考虑一个有四个方程和三个未知数的线性方程组。

x 1 + x 2 + 5 x 3. = 6 2 x 1 + x 2 + 8 x 3. = 8 x 1 + 2 x 2 + 7 x 3. = 10 - x 1 + x 2 - x 3. = 2

创建一个表示方程组的增广矩阵。

A = [1 1 5;2 1 8;1 2 7;-1 1 -1];B = [6 8 10 2]';M = [A b];

使用rref用行简化阶梯形表示方程组。

R = rref(M)
R =4×41 0 3 2 0 1 2 4 0 0 0 0 0 0 0 0 0

的前两行R包含表达 x 1 x 2 在这方面 x 3. 。后两行表示至少存在一个解符合右边向量(否则其中一个方程将会是 1 = 0 ).第三列没有主元,所以 x 3. 是一个自变量。因此,有无穷多个解金宝搏官方网站 x 1 x 2 , x 3. 可以自由选择。

x 1 = 2 - 3. x 3. x 2 = 4 - 2 x 3.

例如,如果 x 3. = 1 ,然后 x 1 = - 1 x 2 = 2

从数值的角度来看,解决这个方程组更有效的方法是用x0 = A\b,其中(对于矩形矩阵一个)计算最小二乘解。在这种情况下,你可以用规范(A * x0-b) /规范(b)以及解的唯一性等级(一个)等于未知数的数量。如果存在不止一个解,那么它们都具有的形式 x = x 0 + nt ,在那里 n 是零空间零(A) t 可以自由选择。

输入参数

全部折叠

输入矩阵。

数据类型:|
复数支持:金宝app是的

枢轴公差,指定为标量。如果主列中的最大元素(按绝对值计算)低于公差,则该列将归零。这可以防止使用小于容差的非零主元进行除法和乘法。

数据类型:|

输出参数

全部折叠

行简化阶梯形一个,作为矩阵返回。

非零主列,作为向量返回。中的每个元素p的列索引是一个。你可以使用p估算:估计几个数量:

  • 长度(p)是对等级的估计一个

  • x (p)包含线性系统中的主变量Ax = b

  • (: p)是值域的一组基吗一个

  • R (1: R p)r——- - - - - -r单位矩阵,其中长度(p)

限制

  • 排名奥尔特,在计算矩阵的秩向量和基向量时通常更快更准确。

  • mldivide建议用于求解线性系统。

更多关于

全部折叠

部分旋转

部分旋转是选择主列中绝对值最大的列元素,然后交换矩阵的行,使该元素处于主位置(行中最左边的非零元素)的实践。

例如,在下面的矩阵中,算法首先确定第一列中的最大值((2,1)位置中的值等于1.1),然后交换完整的第一行和第二行,以便该值出现在(1,1)位置。

在高斯消去中使用部分旋转可以减少(但不能消除)计算中的舍入误差。

行简化阶梯形

矩阵在行阶梯形当满足这些条件时:

  • 所有非零行都在全零行之上。

  • 每一行的先行系数严格地在它上面一行的系数的右边。

矩阵行阶梯形的一个例子是

一个 = 1 2 3. 0 4 1 0 0 2

的附加要求行简化阶梯形是:

  • 每个前导系数必须为1,并且必须是所在列中唯一的非零系数。

虽然单位矩阵通常与行简化阶梯形有关,但也可能有其他形式。另一个矩阵行简化阶梯形的例子是

一个 = 1 0 0 1 0 1 0 3. 0 0 1 3. 0 0 0 0

算法

rref实现部分旋转高斯-乔丹消去。的默认容差马克斯(大小(A)) * eps *规范(A,正)测试为减少舍入误差而清零的可忽略的列元素。

另请参阅

|||

R2006a之前介绍