MATLAB高斯和高斯-乔丹消除

解决线性方程组的方法有两种:

  • 高斯消除
  • 高斯-乔丹淘汰赛
它们都基于这样的观察:如果方程组具有相同的解集, 并且对矩阵的行执行简单的运算(即基本行运算或(EROs)), 则它们是等效的。
有3个ERO:
  1. 缩放:将行乘以标量(即, 将行中的每个元素乘以相同的标量)。这写为sri?ri, 它表示通过将行i与标量s相乘来修改第i行。
  2. 互换:互换两行的位置。这写为ri??rj, 它指示行i和j互换。
  3. 替换:用该行加上或减去标量乘以另一行来替换该行中的所有元素。这写为ri±srj?ri。
例子
MATLAB高斯和高斯-乔丹消除

文章图片
交换行的一个示例是r1??r3。
MATLAB高斯和高斯-乔丹消除

文章图片
现在, 从该矩阵开始, 缩放的示例为:2r2?r2, 它描述了第2行中的所有项目都乘以2。
MATLAB高斯和高斯-乔丹消除

文章图片
现在, 从该矩阵开始, 替换示例为:r3-2r2?r3。第3行的逐元素替换为第3行的元素减去2 *第2行的相应项。这些结果:
MATLAB高斯和高斯-乔丹消除

文章图片
Gauss和Gauss-Jordan方法都从方程组的矩阵形式Ax = b开始, 然后用列向量b扩充系数矩阵A。
高斯消除 高斯消除法是一种求解x的矩阵方程Ax = b的方法。
该过程是:
  1. 首先用列向量b扩充矩阵A。
  2. 它执行ERO来将此扩展矩阵转换为上三角形式。
  3. 它使用反替换来解决x中的未知数。
例子
使用2 x 2系统, 增强矩阵将为:
MATLAB高斯和高斯-乔丹消除

文章图片
然后, 使用ERO将扩充后的矩阵转换为上三角形式:
MATLAB高斯和高斯-乔丹消除

文章图片
因此, 只需将a21替换为0。在这里, 质数表示值已更改。
将其放回方程式yield中
MATLAB高斯和高斯-乔丹消除

文章图片
对每一行执行此矩阵乘法会导致:
MATLAB高斯和高斯-乔丹消除

文章图片
因此, 解决方案是:
MATLAB高斯和高斯-乔丹消除

文章图片
类似地, 对于3× 3系统, 扩充后的矩阵被简化为上三角形式:
MATLAB高斯和高斯-乔丹消除

文章图片
首先将a0放在a21位置, 然后在a31位置, 最后在a32位置进行此操作。
然后, 解决方案将是:
MATLAB高斯和高斯-乔丹消除

文章图片
考虑以下2× 2方程组??:
【MATLAB高斯和高斯-乔丹消除】x1 + 2× 2 = 2
2× 1 + 2× 2 = 6
由于矩阵方程Ax = b, 因此:
MATLAB高斯和高斯-乔丹消除

文章图片
第一个过程是用b扩充系数矩阵A, 以获得扩充矩阵[A | b]:
MATLAB高斯和高斯-乔丹消除

文章图片
对于正向消除, 我们需要在a21位置获得a0。为此, 我们可以通过减去2 *第一行来更改矩阵中的第二行。
我们编写此ERO的方式是:
MATLAB高斯和高斯-乔丹消除

文章图片
现在, 将其放回矩阵方程式中:
MATLAB高斯和高斯-乔丹消除

文章图片
说第二个方程现在是-2× 2 = 2所以x2 = -1插入第一个方程式:
x1 + 2(-1)= 2
x1 = 4。
这称为回填。
高斯-乔丹淘汰赛
高斯-乔丹消除法开始了与高斯消除法相似的技术, 但是消除代替了替代, 继续进行消除。
高斯-乔丹方法包括:
  • 创建增强矩阵[A b]
  • 通过实施ERO获得上三角形式的正向消除
  • 返回去除到对角线的过程, 产生解决方案
例子
使用2x 2系统, 增强矩阵将为:
MATLAB高斯和高斯-乔丹消除

文章图片
使用3x 3系统, 增强矩阵将为:
MATLAB高斯和高斯-乔丹消除

文章图片
注意:结果对角线形式不包括最右边的列。 例如, 对于2× 2系统, 正向消除产生矩阵:
MATLAB高斯和高斯-乔丹消除

文章图片
现在, 要继续进行反向消除, 我们希望a12位置为a0。
MATLAB高斯和高斯-乔丹消除

文章图片
因此, 解决方案是
MATLAB高斯和高斯-乔丹消除

文章图片
这是3× 3系统的示例:
MATLAB高斯和高斯-乔丹消除

文章图片
矩阵形式的扩充矩阵[A | b]为
MATLAB高斯和高斯-乔丹消除

文章图片
正向替换(首先在a21位置获取a0, 然后在a31处获取, 然后最后在a32中进行有序排列):
MATLAB高斯和高斯-乔丹消除

文章图片
对于高斯技术, 这是后面的替换:
MATLAB高斯和高斯-乔丹消除

文章图片
对于Gauss-Jordan技术, 此方法后面是反向消除:
MATLAB高斯和高斯-乔丹消除

文章图片
这是使用MATLAB操作这些替换的示例:
> > a = [1 3 0; 2 1 3; 4 2 3]a =130213423 > > b = [1 6 3]'b=163> > ab = [a b]ab = 1301 21364233> > ab(2, :) = ab(2, :) ? 2*ab(1, :)ab=13010-5344233> > ab(3, :) = ab(3, :) ? 4 * ab(1, :)ab =1301 0 ?534 0 ?103 ?1> > ab(3, :) = ab(3, :) ? 2 * ab(2, :)ab= 13010-534 00-3-9> > ab(2, :) = ab(2, :) + ab(3, :)ab= 1301 0 ?50 ?5 00?3 ?9> > ab(1, :) = ab(1, :) + 3/5*ab(2, :) ab= 100?2 0 ?50?5 00?3 ?9

    推荐阅读