Lista 3

Os exercícios dessa atividade estão relacionados com a resolução de Sistemas de Equações Lineares. Os métodos para a resolução serão descritos detalhadamente nos exercícios 1 e 3. Antes de iniciarmos a atividade, é preciso saber o que são sistemas de equações lineares.

Sistemas de equações lineares

As equações na forma:

a1x1 + a2x2 + a3x3 + .....+ anxn = b

são equações lineares, onde a1, a2, a3, ... são os coeficientes, x1, x2, x3,... as incógnitas e b o termo independente.

Um conjunto finito de equações lineares aplicadas num mesmo conjunto formam um sistema de equações lineares.

Resolução

Os métodos diretos são aqueles que são capazes de fornecer a solução exata do sistema linear, caso exista, após um número finito de operações. Os três métodos que serão descritos abaixo.

(i) Método de Cramer

O método de Cramer é utilizado para resolver sistemas de equações lineares, mas só pode ser usado em sistemas em que o número de incógnitas e número de equações são iguais.

As soluções desses sistema são dadas atráves do uso de matrizes e valores de determinantes.

Passo-a-passo :

Para facilitar o entendimento do passo-a-passo desse método, vamos utilizar o seguinte sistema linear como exemplo:

1- Verificar se o número de incógnitas é o mesmo que o número de equações lineares:

  • 3 incógnitas: X, Y, Z;

  • 3 equações lineares;

Portanto, podemos aplicar a regra de Cramer.

2- Transformar esse sistema em uma matriz:

  • Como montar essa matriz? Escrever apenas os coeficientes das equações lineares. Na primeira linha temos então, os coeficientes correspondentes da primeira equação do sistema, nesse caso: x+2y+z. Os resultados não estão presentes nessa matriz, então podemos falar que é uma matriz incompleta.

3- Calcular a determinante da matriz:

  • Determinante=(1*(-1)*(-1)+2*1*3+1*2*1)-((-1)*1*3+1*1*1+(2*2*(-1))=15

4- Para calcular o valor de X, devemos substituir os valores da coluna que possuem os coeficientes de x pelos valores da respostas das equações lineares.

5- Calcular a determinante da matrix Ax:

  • Determinante: (8*(-1)*(-1)+2*2*1+3*1*1)-((-1)*1*2+8*1*1+2*3*(-1))=15

6- Para calcular o valor de Y, devemos substituir os valores da coluna que possuem os coeficientes de y pelos valores da respostas das equações lineares.

7- Calcular a determinante da Matriz Ay:

  • Determinante=(1*3*(-1)+8*1*3+1*2*2)-(3*3*1+2*1*1+8*2*(-1))=30

8- Para calcular o valor de Z, devemos substituir os valores da coluna que possuem os coeficientes de z pelos valores da respostas das equações lineares.

9- Calcular a determinante da matriz Az

  • Determinante=(1*(-1)*2+2*3*3+8*2*1)-(8*(-1)*3+1*3*1+2*2*2)=45.

10- Calculamos a relação Determinante (x,y,z)/determinante para obter as soluções das equações:

A solução do sistema é S={1,2,3};

Seguindo os passos descritos é possível resolver os sistemas pelo método de Cramer.


(ii) Eliminação de Gauss

O método de eliminação de Gauss, ou também conhecido como método do escalonamento, é um método direto para se resolver sistemas de equações lineares. Nele, são aplicadas diversas operações a fim de se obter um sistema que pode ser mais facilmente manipulado. Com esse método, você é capaz de transformar uma matriz retangular em uma matriz triangular, e só assim poder calcular a resolução do sistema.

As operações utilizadas para que haja essa transformação na matriz são 3:

  • Somar a uma linha um múltiplo de outra linha;

  • Trocar duas linhas entre si;

  • Multiplicar todos os elementos de uma linha por uma constante não nula.

Todas as operações realizadas por esse método são reversíveis.

Portanto a principal ideia desse método é de transformar um sistema que não é triangular em triangular, sendo possível a sua resolução. Para que possa ser resolvido, ele tem duas fases:

  1. Triangularização do sistema original;

  2. Resolução, partindo-se da última variável para a primeira.

Na fase de triangulação é necessário eliminar a primeira variável da segunda, da terceira, da quarta, da n-ésima equação, ficando apenas na primeira. Após isso, elemina-se a segunda variável da terceira, da quarta, da n-ésima equação ficando apenas na segunda, assim sucessivamente para todas as outras váriaveis. Ao final, haverá um sistema triangularizado.

Na segunda fase, basta apenas resolver o sistema.

Passo-a-Passo:

1- Colocar suas equações lineares em um sistema

2- Escrever a matriz aumentada desse sistema (aumentada porque coloca-se os resultados):

3- Zerar os coeficientes que acompanham a variável x1, exceto na primeira equação.

Ou seja, temos que zerar A21 e A31. Para zerar A21 temos que deixar A11 com o mesmo valor de A21 e depois subtrair a segunda linha da primeira.

Para que isso seja possível, temos que tomar as seguinte operações:

  • Multiplicar a primeira linha por m21= A21/A11;
  • Depois subtrair a segunda linha da primeira.    

A segunda linha da outra matriz que vamos ter é L2¹.

  • Fazemos a mesma coisa para a terceira linha. Voltamos a nossa matriz original e multiplicamos a primeira linha por m31=A31/A11;
  • Depois, subtrair a terceira linha da primeira linha: 

A terceira linha da nova matriz que vamos ter é L3¹.

Feito isso, obtemos a seguinte matriz

4- Zerar todos os coeficientes que acompanham a variável x2, exceto na primeira e na segunda equação.

Ou seja, temos que zerar apenas o A32(¹).

  • Temos então que multiplicar a segunda linha por M32=A32¹/A22¹;

  • Depois temos que subtrair a terceira linha da segunda linha.

A terceira linha da nova matriz que vamos ter é L3².

Feito isso, obtemos a seguinte matriz

5- Agora que já triangularizamos o sistema, fase 1, temos que resolver o sistema, fase 2.

  • Começamos calculando X3, pois é uma equação que possui apenas 1 variável. 

  • Agora com esse valor de X3, é possível calcular o valor de X2.

  • Finalmente, com o valor de X2 e X3 podemos calcular o valor de X1

Portanto a solução para esse sistema de equações lineares são os valores de X1, X2 e X3 encontrados. Vale destacar que a solução dessa segunda matriz ² é a mesma que a da matriz ¹ .


(iii) Método de decomposição A=LU

A decomposição LU é das técnicas mais usadas para resolver sistemas de equações algébricas. Essa decomposição é uma forma de fatoração de uma matriz não singular como o produto de uma matriz triangular inferior e uma matriz triangular superior.

As vezes temos que resolver sistema do tipo A.x=B onde é mantida a matriz A variando-se apenas os valores de B.

Usando o método de Gauss para esses casos, teríamos que resolver tudo novamente desde o começo para cada novo sistema. Um tanto quanto desgastante. O método de decomposição A=LU é um aperfeiçoamento do método de eliminação de gauss, uma vez que aproveita quase tudo que já foi feito préviamente .

O método baseia-se na fatoração da matriz A (A.x=B) no produto de duas matrizes, a L e U, sendo a primeira uma matriz triangular inferior e U uma matriz triangular superior. 

O método LU fatora a matriz A no produto L.U .

A matriz U resultante será a mesma matriz obtida quando se triangularizou a matriz A no método de Eliminação de Gauss.

Para calcularmos os valores da matriz U e L podemos usar a seguinte relação:

Depois de fatorar a matriz A, é possível resolver o sistema transformando A em L.U e resolver dois sistemas triangulares, ou seja:

A . X = B ------>L . U . X = B 

e fazendo-se 

U . X = Y 

tem-se L . Y = B sistema triangular de fácil solução, o que permite o cálculo imediato de Y.

Tendo-se Y e sabendo-se que U . X = Y , calcula-se X também com um sistema triangular, repito, de fácil e imediata solução.

L . Y = B e U . X = Y .

Passo-a-passo

Para facilitar o entendimento do passo-a-passo desse método, vamos utilizar o seguinte sistema linear como exemplo:

A.x=B

1-Decompor a matriz A em L e U.

Para isso, vamos utilizar a relação que colocamos a cima (ou se já calculou a matriz por eliminação de Gauss, a matriz U será a que foi obtida.):

  • u11 = a11 ----> u11 = 2

  • u12 = a12 ----> u12 = 1

  • u13 = a13 ----> u13 = 3

  • L21 = (a21/ u11) ----> L21 = 0

  • L31 = (a31/u11) ---->L31 = (½)

  • u22 = a22 - L21*u12 ---->u22 = -1

  • u23 = a23 - L21*u13 ---->u23 = 1

  • L32 =(a32-L31*u12)/(a22) ---->L32=(½)

  • u33 = a33 - L31*u13 - L32 u23 ----> u33 = 1

Portanto L e U são:

2- Resolver os sistemas

  • Resolver os sistemas utilizando-se das relações que descrevemos a cima

L . Y = B e U . X = Y .

  • Pega-se a Matriz L e multiplica por Y, igualando a B:

Resolvendo a multiplicação dessas matrizes, obtém-se que Y1=9; Y2=1; Y3=2

  • Pega-se a Matriz L e multiplicar por X, igualando a Y

Resolvendo a multiplicação dessas matrizes, obtém-se que X1=1; X2=1; X3=2;

Portanto a solução para o sistema linear é S={1,1,2}.


Resolução pelo método de Cramer

O algortimo para resolver o sistema por esse método foi feito em java. 

O algoritmo:

package pkg2cramer;

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

double x1, x2, x3;                                              //Definindo as variáveis

int k = 1;

double det, det1, det2, det3;                        

Scanner sc = new Scanner(System.in);

double ma[][] = new double[3][4];                                   //Primeira matriz com 3 linhas e 4 colunas

double m1[][] = new double[3][3];                                   //Segunda matriz com 3 linhas e 3 colunas

double m2[][] = new double[3][3];                                  //terceira matriz com 3 linhas e 3 colunas

double m3[][] = new double[3][3];                                  //Segunda matriz com 3 linhas e 3 colunas

for (int i = 0; i < 3; i++) {                                                    //3 porque são apenas 3 equações

System.out.println("Vamos digitar a " + k + "º equação:");

int n = 1;

for (int j = 0; j < 4; j++) {                                   // 4 termos incluindo os dependentes e o independente

if (j < 3) {

System.out.println("Digite o " + n + "º coeficiente");

ma[i][j] = sc.nextDouble();                            //Guarda os valores digitados na mesma linha da matriz. Para cada i faz isso j vezes.

} else if (j == 3) {

System.out.println("Digite o termo independente c,(ax+y=c):");

ma[i][3] = sc.nextDouble();

}

n = n + 1;                                //(a12∙a21∙a33 + a11∙a23∙a32 + a13∙a22∙a31)

}

k = k + 1;

}

det = ma[0][0] * ma[1][1] * ma[2][2] + ma[0][1] * ma[1][2] * ma[2][0] + ma[0][2] * ma[1][0] * ma[2][1] - ma[0][1] * ma[1][0] * ma[2][2] - ma[0][0] * ma[1][2] * ma[2][1] - ma[0][2] * ma[1][1] * ma[2][0];              // Cálculo da determinante total

for (int i = 0; i < 3; i++) {

for (int j = 0; j < 3; j++) {

m1[i][j] = ma[i][j];

if (j == 0) {

m1[i][0] = ma[i][3];                            // Na coluna zero, substitui pelos valores da coluna 3.

}

}

}

det1 = m1[0][0] * m1[1][1] * m1[2][2] + m1[0][1] * m1[1][2] * m1[2][0] + m1[0][2] * m1[1][0] * m1[2][1] - m1[0][1] * m1[1][0] * m1[2][2] - m1[0][0] * m1[1][2] * m1[2][1] - m1[0][2] * m1[1][1] * m1[2][0]; //Cálculo da determinante da matriz onde susbtituimos os valores dos termos dependentes de X1 pelos termos independentes

for (int i = 0; i < 3; i++) {

for (int j = 0; j < 3; j++) {

m2[i][j] = ma[i][j];

if (j == 1) {

m2[i][1] = ma[i][3];                             //Na coluna 1 substitui pelos valores da coluna 3

}

}

}

det2 = m2[0][0] * m2[1][1] * m2[2][2] + m2[0][1] * m2[1][2] * m2[2][0] + m2[0][2] * m2[1][0] * m2[2][1] - m2[0][1] * m2[1][0] * m2[2][2] - m2[0][0] * m2[1][2] * m2[2][1]- m2[0][2] * m2[1][1] * m2[2][0]; //Cálculo da determinante da matriz onde susbtituimos os valores dos termos dependentes de X2 pelos termos independentes

for (int i = 0; i < 3; i++) {

for (int j = 0; j < 3; j++) {

m3[i][j] = ma[i][j];

if (j == 2) {

m3[i][2] = ma[i][3];                                         //Susbtitui os termos da coluna 2 pela os da coluna 3

}

}

}

det3 = m3[0][0] * m3[1][1] * m3[2][2] + m3[0][1] * m3[1][2] * m3[2][0] + m3[0][2] * m3[1][0] * m3[2][1] - m3[0][1] * m3[1][0] * m3[2][2] - m3[0][0] * m3[1][2] * m3[2][1]- m3[0][2] * m3[1][1] * m3[2][0];//Cálculo da determinante da matriz onde susbtituimos os valores dos termos dependentes de X3 pelos termos independentes

x1 = det1 / det;

x2 = det2 / det;

x3 = det3 / det;

System.out.print("A soluçao do sistema é : x1= " + x1 + " x2= " + x2 + " x3= " + x3);

}

}


A solução obtida foi S={1,-1,3}.

Resolução por eliminação de Gauss

Esse método foi feito em java.

Algoritmo:

package gauss;

import java.util.Scanner;

public class Gauss {

public static void main(String[] args) {

double x;

int k = 1;

double t, t1, t2, t3;

Scanner sc = new Scanner(System.in);

double ma[][] = new double[3][4];                      //matriz do sistema de 3 variáveis e 3 equações

double au[]=new double[4];                               //vetor auxiliar para troca de linhas 

for (int i = 0; i < 3; i++) {                                       //laço para preencher as colunas

System.out.println("Vamos digitar a " + k + "º equação:");

int n = 1;

for (int j = 0; j < 4; j++) {                                     //laço para preenher as linhas

if (j < 3) {                                                             //preenchendo os coeficientes

System.out.println("Digite o " + n + "º coeficiente");

ma[i][j] = sc.nextDouble();

} else if (j == 3) {                                                //preenchendo os termos independentes

System.out.println("Digite o termo independente c,(ax+y=c):");

ma[i][3] = sc.nextDouble();

}

n = n + 1;

}

k = k + 1;

}                             

x = ma[1][0] / ma[0][0];       //determinando o valor que multiplicarei a 1ª linha para subtrair da 2ª

for (int i = 0; i <= 3; i++) {  //laço para fazer a operação entre a 1ª e a 2ª linha e zerar a 1ª coluna da 2ª linha 

ma[1][i] = ma[1][i] - (x * ma[0][i]);

}

x = ma[2][0] / ma[0][0];      //determinando o valor que multiplicarei a 1ª linha para subtrair da 3ª

for (int i = 0; i <= 3; i++) {      //laço para fazer a operação entre a 1ª e a 3ª linha e zerar a 1ª coluna da 3ª linha

ma[2][i] = ma[2][i] - (x * ma[0][i]);

}

if (ma[2][1] != 0 && ma[1][1]!=0) {    // se nem 2ª nem a 3ª linha tiverem a 2ª coluna zerada

x = ma[2][1] / ma[1][1];                     //determinando o valor que multiplicarei a 2ª linha para subtrair da 3ª

for (int i = 0; i <= 3; i++) {  //laço para fazer a operação entre a 2ª e a 3ª linha e zerar a 2ª coluna da 3ª linha

ma[2][i] = ma[2][i] - (x * ma[1][i]);

}

}

if(ma[1][1]==0){        //se a 2ª coluna da 2ª linha já for zero, permuta a linha 1 com a linha 2

for(int i=0;i<=3;i++){

au[i]=ma[1][i];

ma[1][i]=ma[2][i];

ma[2][i]=au[i];

}

}

t3 = ma[2][3] / ma[2][2];             /resolvendo o novo sistema que é equivalente ao inicial

t2 = (ma[1][3] - (ma[1][2] * t3)) / ma[1][1];

t1 = (ma[0][3] - (ma[0][2] * t3) - (ma[0][1] * t2)) / ma[0][0];

System.out.println("A soluçao do sistema é: x1= " + t1 + " x2= " + t2 + " x3= " + t3);

}

}


Resolução por decomposição A=LU

Para resolver esse sistema atráves desse método, primeiramente é preciso escrever a matriz A equivalente ao sistema e também escrever os termos dependentes em forma de matriz, matriz B.


Feito isso, é preciso definir quais são as matrizes U e L. Vamos encontrar os valores pelas relações descritas no exercício 1.

  • u11 = a11 ----> u11 = 4

  • u12 = a12 ----> u12 = -1

  • u13 = a13 ----> u13 = 1

  • L21 = (a21/ u11) ----> L21 = (1/2)

  • L31 = (a31/u11) ---->L31 = (1/4)

  • u22 = a22 - L21*u12 ---->u22 = (11/2)

  • u23 = a23 - L21*u13 ---->u23 = (3/2)

  • L32 =(a32-L31*u12)/(a22) ---->L32=(9/22)

  • u33 = a33 - L31*u13 - L32 u23 ----> u33 = (69/22)

Podemos então montar nossas matrizes U e L.

Com a Relação 

L*Y=B

Os valores de Y obtidos foram:

Agora, sabemos também que 

U*X=Y

Resolvendo essa multiplicação, obtemos que x1=1; x2=-1 e x3=3


Antes de iniciarmos a explicação de cada um dos métodos, é importante definir o que são métodos iterativos.

Métodos iterativos são métodos que a partir de uma aproximação inicial, geram uma sequência de valores que convergem para a solução do sistema. A cada iteração, ele converge, vai chegando mais próximo, do valor desejado.

(i) Método de Jacobi

É um método iterativo que produz uma sequencia de soluções que aproximam a solução do sistema a partir de uma solução aproximada inicial. Para tal, o sistema é transformado da forma matricial usual Ax=B para a forma x=Fx+d.

Normalmente a solução aproximada de partida é 0 para todos os valores de X. Dessa forma então, isola-se o valor de x que se deseja saber e e substitui o valor (chute) inicial. Vai se chegar em um novo valor, então a próxima iteração, o valor inicial que será usado, vai ser o obtido anteriormente. Aplicar isso sucessivas vezes é o método de Jacobi.

Passo-a-passo

1-Escrever suas equações como um sistema linear 

2-Isolar as variáveis em cada linha

3- Escolhe-se uma aproximação inicial, x0.

Normalmente essa aproximação inicial tem o valor de 0. Substitui 0 em x. Por exemplo, na primeira linha vai ficar:

x1=b1-(a12*0+.......an*0)/a11

Dessa forma, iremos valor para x1, x2, x3,....xn.

É preciso também, antes de iniciar o exercício, indicar uma tolerância desejada.

4-Toma-se os valores obtidos de x1....xn no passo 3, usa-os como as novas aproximações iniciais e aplica o método novamente.

5- Verificar se |Xk+1-xK|<tolerância.

Se isso ocorrer, significa que houve uma boa aproximação do valor de x dentro do erro pré-estabelecido por você. Se não, continue com o passo 6.

6-Toma-se os valores obtidos de x1......xn no passo 4 , usa-os como as novas aproximações iniciais e aplica-se o método novamente.

7- Verificar se |Xk+1-xK|<tolerância.

8-Continuar com as iterações até quando for obedecida |Xk+1-xK|<tolerância.


(ii) Método de Gauss Siedel

Esse método é bem parecido com o de Jacobi, porém nele busca-se acelerar o processo de encontrar uma boa aproximação para a solução do sistema.

Para que o processo seja então acelerado, aplica-se a aproximação inicial ao cálculo de x1, isto é: x1=f1(0,0...0) e em seguida já se utiliza esse novo valor de x1 no cálculo de x2, isto é: x2=f2(x1,0..0) e assim por diante.

Ou sejam nesse método utiliza-se sempre os valores de X mais atuais possíveis.

Passo-a-passo:

Os passos 1 e 2 são iguais ao método de Jacobi, por isso, vamos iniciar a partir do passo 3. 

3- Escolhe-se uma aproximação inicial, x0.

Normalmente essa aproximação inicial tem o valor de 0. Substitui 0 em x, porém somente na primeira equação. Por exemplo, na primeira linha vai ficar:

x1=b1-(a12*0+.......an*0)/a11

É preciso também, antes de iniciar o exercício, indicar uma tolerância desejada.

4-Com o valor obtido no passo 3, substituir na equação x2;

5-Com o valor obtido no passo 4 e no passo 3, substituir na equação x3;

6- Repetir esses passos até que |Xk+1-xK|<tolerância.

Devido ao fato do Método de Gauss Siedel ser bem parecido com o de Jacobi porém mais rápido, espera-se que esse método convirja mais rapidamente para a solução do sistema. Algumas vezes isso pode não ocorrer devido a erros.


Critério de Sassenfeld

Dado o sistema linear da forma A*X=B, tem-se:

Define-se ß=Maxßj

Se ß <1 , então gera-se uma sequência convergente para a solução do sistema (usando o método de Gauss), qualquer que seja o vetor inicial. Além disso, quanto menor for o valor ß de mais rápida é a convergência.

Aplicando para o nosso sistema em questão temos que

Todos os valores de ß são <1, portanto para esse sistema há uma convergência dos valores para a solução.

ß Máx é 13/20<1. Portanto esse sistema vai convergir usando os métodos de Gauss-Siedel e Jacobi.

Critério das linhas

Segundo esse critério, se acontecer isso:

O sistema vai convergir pelo método de Gauss Siedel.

Aplicando esse critério para o sistema em questão temos que :

Pelos dois critérios de convergência, vimos que realmente há a convergência para a solução desse sistema.

Resolução pelo método de Jacobi

Resolvemos o exercício em planilha eletrônica-Excel. 

Nessa planilha, escrevemos os valores dos coeficientes em uma tabela separada:

Criamos uma tabela com 7 colunas: N, x1, x2, x3, Δx1, Δx2 e Δx3.

A coluna N marca o número de interações e para preenchê-la colocamos o 0 na primeira linha e o 1 na segunda linha, selecionamos essas duas células e puxamos para baixo até o número de interações desejadas, no caso 60.

Inicialmente preenchemos as primeiras células das colunas x1, x2 e x3 com os valores iniciais dessas incógnitas, no caso -2,4; 5 e0,3 respectivamente.

Para o próximo valor da coluna x1, escrevermos na segunda linha "=($célula com resultado da primeira equação-$célula com valor do escalar de x2 da primeira equação*célula com valor inicial de x2-$célula com valor do escalar de x3 da primeira equação*célula com valor inicial de x3)/$célula com valor do escalar de x1 da primeira equação).

Para o próximo valor da coluna x2, escrevermos na segunda linha "=($célula com resultado da segunda equação-$célula com valor do escalar de x1 da segunda equação*célula com valor incial de x1-$célula com valor do escalar de x3 da segunda equação*célula com valor inicial de x3)/$célula com valor do escalar de x2 da segunda equação).

Para o próximo valor da coluna x3, escrevermos na segunda linha "=($célula com resultado da terceira equação-$célula com valor do escalar de x1 da terceira equação*célula com valor  inicial de x1-$célula com valor do escalar de x2 da terceira equação* célula com valor incial de x2)/$célula com valor do escalar de x3 da terceira equação).

Após termos as segundas colunas preenchidas, as selecionamos e puxamos as fórmulas para baixo até a linha com o número de interações 60.

As colunas Δx1, Δx2 e Δx3 são preenchidas a partir da segunda linhas e representam a diferença entre dois valores consecutivos. Para preencher esses valores basta colocar na segunda linha de Δx1 "=célula com primeiro valor calculado de x1 - célula com valor inicial de x1", selecionamos essa célula e puxamos a fórmula horizontalmente para as colunas Δx2 e Δx3. Para finalizar, selecionamos essas três células preenchidas e puxamos para baixo até a linha com o número de interações 60.

Analisando os valores de Δx1, Δx2 e Δx3 verificamos que a primeira linha em que todos os deltas são menores que 10^-2 é a linha com número de interações igual a 7. E na linha com o número de iterações 58, obteve-se Δx=0 para x1, x2 e x3. Ou seja, convergiu para os seguintes valores

s={1,1,0}

Resolução pelo método de Gauss Siedel

Esse exercício também foi desenvolvido em planilha eletrônica-Excel. O  arquivo está disponível aqui:

Para resolvermos o exercício pelo método de Gauss-Seidel no excel, colocamos os escalares que multiplicam os valores de x1,x2 e x3 e os resultados das equações em linhas e colunas da planilha desse modo:

Criamos uma tabela com 7 colunas: N, x1, x2, x3, Δx1, Δx2 e Δx3.

A coluna N marca o número de interações e para preenchê-la colocamos o 0 na primeira linha e o 1 na segunda linha, selecionamos essas duas células e puxamos para baixo até o número de interações desejadas, no caso 50.

Inicialmente preenchemos as primeiras células das colunas x1, x2 e x3 com os valores iniciais dessas incógnitas, no caso -2,4; 5 e0,3 respectivamente.

Para o próximo valor da coluna x1, escrevermos na segunda linha "=($célula com resultado da primeira equação-$célula com escalar de x2 da primeira equação*célula com valor inicial de x2-$célula com escalar de x3 da primeira equação*célula com valor inicial de x3)/$célula com escalar x1 da primeira equação).

Para o próximo valor da coluna x2, escrevermos na segunda linha "=($célula com resultado da segunda equação-$célula com escalar de x1 da segunda equação*célula com valor calculado anteriormente de x1-$célula com escalar de x3 da segunda equação*célula com valor inicial de x3)/$célula com escalar x2 da segunda equação).

Para o próximo valor da coluna x3, escrevermos na segunda linha "=($célula com resultado da terceira equação-$célula com escalar de x1 da terceira equação*célula com valor calculado anteriormente de x1-$célula com escalar de x2 da terceira equação* célula com valor calculado anteriormente de x2)/$célula com escalar x3 da terceira equação).

Após termos as segundas colunas preenchidas, as selecionamos e puxamos as fórmulas para baixo até a linha com o número de interações 50.

As colunas Δx1, Δx2 e Δx3 são preenchidas a partir da segunda linhas e representam a diferença entre dois valores consecutivos. Para preencher esses valores basta colocar na segunda linha de Δx1 "=célula com primeiro valor calculado de x1 - célula com valor inicial de x1", selecionamos essa célula e puxamos a fórmula horizontalmente para as colunas Δx2 e Δx3. Para finalizar, selecionamos essas três células preenchidas e puxamos para baixo até a linha com o número de interações 50.

Analisando os valores de Δx1, Δx2 e Δx3 verificamos que a primeira linha em que todos os deltas são menores que 10^-2 é a linha com número de interações igual a 6.

A partir da linha 24 iterações, os valores de Δx1, Δx2 e Δx3 são iguais a zero, convergindo também para os mesmos valores obtidos pelo método de Jacobi.

Como já explicado anteriormente, o método de Gauss Siedel é muito parecido com o método de Jacobi porém ele converge mais rápido. Isso pode ser visto nesse exercício. Pelos critérios de convergência aplicados foi possível concluir que haveria convergência e após aplicarmos os métodos vimos que o método de gauss Siedel realmente convergiu mais rapidamente.

Portanto esse sistema converge para a sua solução. E como o nosso sistema formou uma matriz que  satisfez o critério de linhas, ela é chamada de diagonal dominante estrita.



Esse exercício foi realizado por planilha eletrônica excel.

Os resultados obtidos eram os esperados pelo exercício. Houve a convergência para esses valores com 21 iterações porém só com36 iterações é que todos os Δx  eram iguais a zero. Isso pode ter acontecido devido a precisão da máquina, ou seja, a partir de 36 terações a máquina não consegue mais representar o erro pois ele é maior que o épslon .


O exercício foi resolvido em planilha eletrônica-Excel

Os valores obtidos convergem para os valores esperados. Com 13 iterações, os valores de x1,x2 e x3 não se alteram mais, porém só com 21 iterações é que o Δx1, Δx2 e Δx3  são todos iguais a zero. Isso ocorreu devido o erro ter extrapolado o valor mínimo do épslon da máquina. 

Crie seu site grátis! Este site foi criado com Webnode. Crie um grátis para você também! Comece agora