A <- matrix(data=c(1,2,-1,1,-1,-2,3,5,4), nrow=3, ncol=3, byrow=FALSE)
b <- matrix(data=c(1,2,6), nrow=3, ncol=1, byrow=FALSE)
A
## [,1] [,2] [,3]
## [1,] 1 1 3
## [2,] 2 -1 5
## [3,] -1 -2 4
b
## [,1]
## [1,] 1
## [2,] 2
## [3,] 6
solve_eq_3X3 <- function(A, b) {
M <- cbind(A, b)
tmp <- (M[2,1]/M[1,1])*(M[1,])
M[2,] <- M[2,] - tmp
tmp <- (M[3,1]/M[1,1])*(M[1,])
M[3,] <- M[3,] - tmp
tmp <- (M[3,2]/M[2,2])*(M[2,])
M[3,] <- M[3,] - tmp
z <- M[3,4]/M[3,3]
y <- (M[2,4]-(M[2,3]*z))/M[2,2]
x <- (M[1,4]-(M[1,3]*z)-(M[1,2]*y))/M[1,1]
z <- round(z,2)
y <- round(y,2)
x <- round(x,2)
return(c(x, y, z))
}
solve_eq_3X3(A,b)
## [1] -1.55 -0.32 0.95