Use o botão abaixo para reportar erros ou dar sugestões.
Computação Científica - Um Livro Colaborativo
Vetor (ou array) é uma lista de elementos do mesmo tipo que podem ser acessados individualmente com o mesmo nome de variável. Definimos um vetor dizendo o tipo, o nome da variável e o número de elementos: tipo nome[n⁰ elementos];.
Exemplo 4.1.2. Implemente um programa que armazena em um vetor os 10 primeiros números da sequência de Fibonacci e imprime a soma do sétimo com o décimo.
No exemplo 4.1.2, definimos um vetor com 10 posições fazendo int x[10];. Depois, acessamos a posição i do vetor fazendo x[i]. Observe que as posições do vetor começamos em 0 e, portanto, a sétima posição é acessada por x[6] e a décima por x[9].
Exemplo 4.1.3. O método iterativo de Jacobi para calcular a solução do sistema linear
é dado pela recursão
onde , , , é um chute inicial. A iteração converge para a solução quando a matriz do sistema é estritamente diagonal dominante.
Implemente um código para resolver o sistema
com o método de Jacobi.
Primeiro, montamos a iteração:
Vamos usar o chute inicial , e .
Nessa versão de código usamos o critério de parada norma em da diferença menor que uma tolerância, isto é,
Também usamos o dispositivo de controle, isto é, depois que atingimos a tolerança caminhamos mais três passos.
Agora vamos fazer um vesão um pouco mais elaborada. Vamos criar uma função que calcula norma de vetores e outra que faz uma iteração. Para isso, temos que passar um vetor como parâmetro para a função. Observe o código:
Esse último código passa vetores como parâmetros para funções. A função norma_dif_2 passa dois vetores e retorna double. A Iteracao passa dois vetores e retorna void, onde usamos um vetor para levar a informação para dentro da função e o outro vetor para retirar o resultado: x_antigo leva a informação e x_atual entra com qualquer coisa e é calculado dentro da função. Já a função Jacobi entra o valor da tolerância e passa um vetor para colocar a solução.
Os códigos que implementamos resolve apenas um único sistema x. É interessante pensar em rotinas mais gerais, que resolvem um sistema de dimensão x.
Este texto é disponibilizado nos termos da licença Creative Commons Atribuição-CompartilhaIgual 3.0 Não Adaptada (CC-BY-SA 3.0). Página gerada em 19/8/2020 às 17:33:16.