# Método de Gauss-Jacobi


c=c(8, 1, 1, 0, 2, 20, 9, 2, 1, 1, 2, 1, 11,2, 0, 3, 2, 1, -8, 1, 2, 1, 2, 3, 10)
A=matrix(c,5,5,byrow=TRUE); A   # Entrada da matriz A
v=c(1,2,3,4,5); v                # Entrada do vetor v

Gjacobi<-function(A,b,erro){
m=length(b)
Erro=erro+1

c=0*v
B=0*A

for ( i in 1:m){
c[i]=b[i]/A[i,i]
B[i,]=A[i,]/A[i,i]
B[i,i]=0
}

x=0*b
cont=1
while (Erro>=erro){
y=x
mm=1:m
for (i in mm){
p=0
for ( j in mm[-c(i)]){
p=p+B[i,j]*y[j]
}
x[i]=c[i]-p
}
cont=cont+1
Erro=sum(abs(x-y))

if (cont>=10^6){Erro=0}}
x
}

x=Gjacobi(A,v,10^(-16))
x

A%*%x-v

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: