个性化阅读
专注于IT技术分析

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方程组​​:

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 =
       1     3     0
       2     1     3
       4     2     3 >> b = [1 6 3]'
b=
       1
       6
       3
>> ab = [a b]
ab = 
          1    3    0   1 
          2    1    3   6
          4    2    3   3
>> ab(2, :) = ab(2, :) ? 2*ab(1, :)
ab=
         1    3    0    1
         0    -5   3    4
        4     2    3    3
>> ab(3, :) = ab(3, :) ? 4 * ab(1, :)
ab =

           1  3   0   1 
          0 ?5   3   4 
          0 ?10   3 ?1
>> ab(3, :) = ab(3, :) ? 2 * ab(2, :)
ab=
	1    3    0   1
            0    -5   3    4
	0    0    -3  -9
>> ab(2, :) = ab(2, :) + ab(3, :)
ab=
	1   3   0   1 
            0 ?5   0 ?5 
            0   0  ?3 ?9
>> ab(1, :) = ab(1, :) + 3/5*ab(2, :) ab=
	1   0   0  ?2 
            0 ?5   0  ?5 
            0   0  ?3 ?9

赞(0)
未经允许不得转载:srcmini » MATLAB高斯和高斯-乔丹消除

评论 抢沙发

评论前必须登录!