Este código usa o método de Interpolação de Newton para gerar um polinômio que aproxime uma função dada pelos pontos x
e y
.
O código importa duas bibliotecas principais: sympy
e numpy
. A biblioteca sympy
é usada para trabalhar com expressões matemáticas simbólicas e numpy
é usada para trabalhar com arrays numéricos.
A função interp_newton
é responsável por calcular a interpolação de Newton. Ela recebe dois argumentos, os arrays x
e y
, que representam os pontos de uma função.
- Guarda o tamanho dos arrays
x
ey
na variáveln
. - Cria uma cópia dos valores de
y
e guarda na variávela
. - Loop de
j
que vai de 1 atén-1
.- Loop de
i
que vai den-1
atéj-1
, decrementando de 1 em 1.- Calcula o valor da interpolação usando o método de Newton:
a[i] = (a[i] - a[i-1]) / (x[i] - x[i-j])
.
- Calcula o valor da interpolação usando o método de Newton:
- Loop de
- Define a função
p(z)
como o resultado da interpolação usando o método de Newton. - Retorna a função
p(z)
.
O usuário é solicitado a informar os arrays x
e y
que representam os pontos de uma função. Eles são lidos como strings e convertidos para arrays de inteiros. Sua leitura deve ser feita todos em uma linha com espaçamentos
- Exemplo:
x: 1 2 3 4
ey: 5 6 7 8
Com os arrays x
e y
em mãos, a função interp_newton
é chamada para obter a interpolação de Newton. A partir da interpolação, é gerado o polinômio interpolador usando a biblioteca sympy
.
O usuário também pode verificar uma estimativa para a função, inserindo a expressão. O valor da estimativa
é informado pelo usuário. O resultado da estimativa é obtido substituindo o valor da expressão no polinômio interpolador.
O polinômio interpolador é impresso na tela e, caso a estimativa seja solicitada, o resultado da estimativa também é exibido.