# 定义一个3x3的矩阵
A <- matrix(c(2, 1, -1,
-3, -1, 2,
-2, 1, 2), byrow = TRUE, nrow = 3)
# 定义对应的常数项向量
b <- c(8, -11, -3)
# 将常数项向量转化为矩阵的一列,使其成为增广矩阵
Ab <- cbind(A, b)
# 手动执行高斯消元法
# 第一步:使用第一行消去以下各行的第一个元素
Ab[2,] <- Ab[2,] + 3/2 * Ab[1,]
Ab[3,] <- Ab[3,] + Ab[1,]
# 第二步:使用第二行消去以下各行的第二个元素
Ab[3,] <- Ab[3,] - Ab[2,] * Ab[3,2] / Ab[2,2]
# 输出部分消元后的增广矩阵
Ab b
[1,] 2 1.0 -1.0 8
[2,] 0 0.5 0.5 1
[3,] 0 0.0 -1.0 1
# 你可以继续以上步骤,直到矩阵变为上三角形矩阵
# 然后通过回代(back substitution)求解每个变量