Este simples programa, através de um conjunto finito de pontos, retorna uma função (de forma numérica) pela interpolação. Os métodos utilizados para interpolação são:
- Newton com uso de Diferenças Divididas;
- Gregory-Newton com uso de Diferenças Finitas.
Espera-se que este código seja útil para quem está estudando Cálculo Numérico.
O código pode ser utilizado para quem quer entender o método, ou até mesmo quem queira utilizá-lo como ferramenta. Para isso no método main
há comentários que dividem o código principal em 5 partes. Abaixo há um exemplo de como foi feito:
// Parte 1 - Escolher o método
do {
cout<<"Escolha o método: \n1. Método de Newton com uso de Diferenças Divididas \n2. Método de Gregory-Newton com uso de Diferenças Finitas\nOpção: ";
cin>>opcMetodo;
cout<<endl;
} while (opcMetodo!=1 && opcMetodo!=2);
Caso você queira somente usar como ferramenta, basta alterar os parâmetros da função debug()
na Parte 5 do programa. A função espera como entrada 3 parâmetros debug(inicio,fim,pontos)
, inicio
e fim
são valores de x no qual você quer obter o valor de f(x) e pontos
o número de pontos entre esse intervalo.
debug(0,8,100);
O exemplo acima (o default) retorna um debug com 100 pontos, entre 0 e 8.
------ DEBBUG PARA DESMOS ------
0;14.5
0.08;12.8174
0.16;11.2757
...
8.8;81.1025
8.88;86.5936
8.96;92.3718
-------- FIM DO DEBBUGER -------
Você pode copiar todos estes valores e colar no Desmos podemos ver a função!
Para compilar e executar um programa destes, basta executar o comando com o nome de arquivo, com o terminal dentro da pasta game
:
g++ main.cpp && ./a.out
O comando acima precisa do compilador g++ instalado na máquina, se você não sabe o que é isso, comece lendo sobre por aqui
Contribuições são o que tornam a comunidade de código aberto um lugar incrível para aprender, inspirar e criar. Todas as contribuições que você fizer são muito bem vindas!
Se quiser "fortalecer" aí, pode abrir o pull request!! 😍