Relatório Análise Numérica
Por: Diêgo Diêgo • 6/12/2019 • Relatório de pesquisa • 4.381 Palavras (18 Páginas) • 191 Visualizações
[pic 1]
Universidade Estadual de Santa Cruz – UESC
Relatório de Implementações de Métodos da Disciplina
Análise Numérica
Relatório de implementações realizadas por Diêgo Marcelino Santos Silva
Disciplina Análise Numérica. Curso Ciência da Computação Semestre 2019.2
Professor Gesil Sampaio Amarante II
Ilhéus – BA 2019
ÍNDICE[pic 2]
Especificações do Arquivo de Entrada 6
Biblioteca usada: 6
Algumas representações 6
Observações 6
Método da Bissecção 7
Estratégia de Implementação: 7
Estrutura dos Arquivos de Entrada/Saída 7
Problema teste 1, 2, 3… 8
Dificuldades enfrentadas 9
Método da Posição Falsa 10
Estratégia de Implementação: 10
Estrutura dos Arquivos de Entrada/Saída 10
Problema teste 1, 2, 3… 10
Dificuldades enfrentadas 11
Método do Ponto Fixo 12
Estratégia de Implementação: 12
Estrutura dos Arquivos de Entrada/Saída 12
Problema teste 1, 2, 3… 12
Dificuldades enfrentadas 14
Método de Newton Raphson 15
Estratégia de Implementação: 15
Estrutura dos Arquivos de Entrada/Saída 15
Problema teste 1, 2, 3… 15
Dificuldades enfrentadas 16
Método da Secante 17
Estratégia de Implementação: 17
Estrutura dos Arquivos de Entrada/Saída 17
Problema teste 1, 2, 3… 17
Dificuldades enfrentadas 18
Método da Eliminação de Gauss 19
Estratégia de Implementação: 19
Estrutura dos Arquivos de Entrada/Saída 19
Problema teste 1, 2, 3… 20
Dificuldades enfrentadas 21
Método da Fatoração LU 22
Estratégia de Implementação: 22
Estrutura dos Arquivos de Entrada/Saída 23
Problema teste 1, 2, 3… 23
Dificuldades enfrentadas 24
Método de Jacobi 25
Estratégia de Implementação: 25
Estrutura dos Arquivos de Entrada/Saída 25
Problema teste 1, 2, 3… 26
Dificuldades enfrentadas 27
Método de Gauss Seidel 28
Estratégia de Implementação: 28
Estrutura dos Arquivos de Entrada/Saída 28
Problema teste 1, 2, 3… 28
Dificuldades enfrentadas 30
Conclusões Finais 31
Especificações Arquivo de Entrada[pic 3]
Biblioteca usada:
Para todos os métodos foi necessário usar uma biblioteca chamada sympy. Para instalar esta biblioteca no Python3, foi utilizado o seguinte comando no terminal Linux: $ sudo pip3 install sympy. Foi preferível usar esta biblioteca para todos os métodos porque além de implementar funções para cálculos matemáticos (exponencial, seno, cosseno...), também implementa manipulação de funções e equações (f(x) = x + y + z, x + y = 1...). Por isso foi aberta esta nova sessão para explicar como são representadas as funções matemáticas a partir desta biblioteca.
Também foi utilizada em todos os métodos uma biblioteca chamada sys. Esta biblioteca permite usar argumentos em python, e ela foi usada para inserir como argumento do programa o caminho do arquivo de entrada.
Para poder executar qualquer método, deve-se digitar pyhon3 (ou python, caso a versão 3 esteja configurada como padrão na máquina), o nome do arquivo .py e depois o nome do arquivo de entrada como parâmetro.
$ python3 nomeDoMetodo.py entrada.txt
Algumas representações
Abaixo se encontram as representações de algumas funções matemáticas que podem ser usadas no arquivo de entrada:
- x² = pow(x, 2) ou x**2;
- Raiz quadrada de x = sqrt(x);
- Seno de x = sin(x);
- Arcoseno de x = asin(x)
- Cosseno de x = cos(x);
- Tangente de x = tan(x);
- Número de Euler (e) elevado a x = exp(x);
- Log de x na base y = log(x, y);
- pi é uma constante já definida (3,1415…..);
Observações
Abaixo se encontram algumas observações que é preciso se atentar ao gerar o arquivo de entrada:
- O programa não reconhece 5x, mas sim 5*x;
Método de Bissecção[pic 4]
Estratégia de Implementação:
Como explicado na seção de especificação do arquivo de entrada, foi usada a biblioteca sympy para usar funções em python e a biblioteca sys para usar argumentos.
O critério de parada do método, considerando ‘c’ o meio do intervalo atual, é se f(c) for <= precisão. Caso o valor absoluto do f(início do intervalo) seja maior do que a precisão ou o mesmo para o f(fim do intervalo), então o método retorna None e o programa imprime no arquivo de saída: “Verifique se os intervalos estão corretos.”. Caso a resposta final testada na função resultar em um valor maior que 1 o programa imprime “Resultado maior que 1” e mostra o resultado, para chamar atenção que existe algo errado na resposta, já que a resposta esperada está entre 0 e 1.
...