O projeto aqui presente prevê pontos posteriores de uma função f(x) dado um ponto (ou mais) e sua respectiva função derivada. Tal previsão pode ser feita utilizando um dos metodos seguintes:
- Método de Euler
- Método de Euler Inverso
- Método de Euler Aprimorado
- Método de Runge-Kutta
- Método de Adams-Bashforth
- Método de Adams-Moulton
- Método de Diferenciação Inversa
Para ter acesso a esse conteúdo basta ter o GitHub em instalado sua máquina e inserir os seguintes comandos:
git init
git clone https://github.com/luizkof/Metodos-Numericos
Pronto já tem todo projeto em sua máquina. Aproveite!
Tendo o projeto em sua máquina, bastar ter os sequintes requisitos
- Python 2.7.15 (ou versões superiores) já instalado
- As bibliotecas Matplotlib Numpy e Sympy já instaladas
Para executar é bem simples, basta escrever a função que deseja calcular pontos posteriores no arquivo entrada.txt. É necessário seguir o seguinte padrão:
- Metodo Euler, Euler Inverso, Euler Aprimorado e Runge-Kutta: recebem como entrada os valores y(0),t(0), h, quantidade de passos, a função. E calcula cada passo do método, onde h é o incremento. Exemplos:
euler 0 0 0.1 20 1-t+4*y
euler_inverso 0 0 0.1 20 1-t+4*y
euler_aprimorado 0 0 0.1 20 1-t+4*y
runge_kutta 0 0 0.1 20 1-t+4*y
- Mettodo Adam-Bashforth, Adam-Multon, Fórmula Inversa: recebem como entrada a lista de valores de y,t(0), h, quantidade de passos, a função, a ordem (de 2 a 8). E calcula cada passo do método.Também pode obter os valores iniciais por outros metodos. Exemplos:
adam_bashforth 0.0 0.1 0.23 0.402 0.6328 0 0.1 20 1-t+4*y 6
adam_bashforth_by_euler_inverso 0 0 0.1 20 1-t+4*y 6
adam_multon 0.0 0.1 0.23 0.402 0.6328 0 0.1 20 1-t+4*y 6
adam_multon_by_runge_kutta 0 0 0.1 20 1-t+4*y 6
formula_inversa 0.0 0.1 0.23 0.402 0.6328 0 0.1 20 1-t+4*y 6
formula_inversa_by_euler 0 0 0.1 20 1-t+4*y 6
formula_inversa_by_runge_kutta 0 0 0.1 20 1-t+4*y 6
Os métodos devem ser escrito exatamente dessa forma (iguais caractéres). Em seguida basta executar a seguinte linha de comando no terminal, já dentro da pasta que está o projeto:
python metodos.py
O resultado será salvo em um arquivo chamado resultado.txt. Será salvo as imagens na pasta imgs com o nome igual ao numero da linha que ocupava no arquivo entrada
Usamos o GitHub para controle de versão. Veja mais em https://github.com/luizkof/Metodos-Numericos.
- Luiz Albuquerque - Initial work - PurpleBooth
This project is licensed under the MIT License - see the LICENSE.md file for details