解决线性方程组的方法有两种:
- 高斯消除
- 高斯-乔丹淘汰赛
它们都基于这样的观察:如果方程组具有相同的解集, 并且对矩阵的行执行简单的运算(即基本行运算或(EROs)), 则它们是等效的。
有3个ERO:
- 缩放:将行乘以标量(即, 将行中的每个元素乘以相同的标量)。这写为sri⟶ri, 它表示通过将行i与标量s相乘来修改第i行。
- 互换:互换两行的位置。这写为ri⟵⟶rj, 它指示行i和j互换。
- 替换:用该行加上或减去标量乘以另一行来替换该行中的所有元素。这写为ri±srj⟶ri。
例子
交换行的一个示例是r1⟵⟶r3。
现在, 从该矩阵开始, 缩放的示例为:2r2⟶r2, 它描述了第2行中的所有项目都乘以2。
现在, 从该矩阵开始, 替换示例为:r3-2r2⟶r3。第3行的逐元素替换为第3行的元素减去2 *第2行的相应项。这些结果:
Gauss和Gauss-Jordan方法都从方程组的矩阵形式Ax = b开始, 然后用列向量b扩充系数矩阵A。
高斯消除
高斯消除法是一种求解x的矩阵方程Ax = b的方法。
该过程是:
- 首先用列向量b扩充矩阵A。
- 它执行ERO来将此扩展矩阵转换为上三角形式。
- 它使用反替换来解决x中的未知数。
例子
使用2 x 2系统, 增强矩阵将为:
然后, 使用ERO将扩充后的矩阵转换为上三角形式:
因此, 只需将a21替换为0。在这里, 质数表示值已更改。
将其放回方程式yield中
对每一行执行此矩阵乘法会导致:
因此, 解决方案是:
类似地, 对于3×3系统, 扩充后的矩阵被简化为上三角形式:
首先将a0放在a21位置, 然后在a31位置, 最后在a32位置进行此操作。
然后, 解决方案将是:
考虑以下2×2方程组:
x1 + 2×2 = 2
2×1 + 2×2 = 6
由于矩阵方程Ax = b, 因此:
第一个过程是用b扩充系数矩阵A, 以获得扩充矩阵[A | b]:
对于正向消除, 我们需要在a21位置获得a0。为此, 我们可以通过减去2 *第一行来更改矩阵中的第二行。
我们编写此ERO的方式是:
现在, 将其放回矩阵方程式中:
说第二个方程现在是-2×2 = 2所以x2 = -1插入第一个方程式:
x1 + 2(-1)= 2
x1 = 4。
这称为回填。
高斯-乔丹淘汰赛
高斯-乔丹消除法开始了与高斯消除法相似的技术, 但是消除代替了替代, 继续进行消除。
高斯-乔丹方法包括:
- 创建增强矩阵[A b]
- 通过实施ERO获得上三角形式的正向消除
- 返回去除到对角线的过程, 产生解决方案
例子
使用2x 2系统, 增强矩阵将为:
使用3x 3系统, 增强矩阵将为:
注意:结果对角线形式不包括最右边的列。
例如, 对于2×2系统, 正向消除产生矩阵:
现在, 要继续进行反向消除, 我们希望a12位置为a0。
因此, 解决方案是
这是3×3系统的示例:
矩阵形式的扩充矩阵[A | b]为
正向替换(首先在a21位置获取a0, 然后在a31处获取, 然后最后在a32中进行有序排列):
对于高斯技术, 这是后面的替换:
对于Gauss-Jordan技术, 此方法后面是反向消除:
这是使用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
评论前必须登录!
注册