Calculadora de interpolação regressiva de Newton
A interpolação regressiva de Newton estima o valor de uma função a partir de uma tabela cujos valores de x têm espaçamento constante.
Executar grátis
Roda direto no seu navegador. Grátis, sem cadastro — seus dados não são enviados para lugar nenhum.
Ela é especialmente conveniente quando o x desejado está perto da última linha, pois a fórmula se ancora nesse extremo e usa ali as diferenças regressivas. Informe pelo menos dois pontos ordenados e um x-alvo. A calculadora confere o espaçamento, constrói todas as diferenças finitas necessárias, avalia o polinômio de interpolação completo e retorna a estimativa e um cálculo termo a termo que você pode examinar.
Quando escolher a fórmula regressiva de Newton
Use a interpolação regressiva de Newton quando as observações estiverem tabeladas em valores de x igualmente espaçados e o alvo estiver próximo da última observação. Ela serve para estimar uma medição entre os dois últimos instantes de amostragem, preencher um valor ausente perto do fim de uma tabela numérica ou conferir um exercício baseado em diferenças regressivas. A proximidade do fim é uma vantagem de interpretação, não uma restrição rígida: o polinômio pode ser avaliado em outro ponto, embora outra representação costume ser mais clara perto do início. Forneça os pontos em ordem estritamente crescente de x. Cada x e y deve ser um número finito, e são necessários pelo menos dois pontos. A calculadora utiliza todos os pontos; portanto, n pontos definem um polinômio de grau máximo n menos um. Mais pontos não garantem melhora quando há ruído, pois o polinômio passa exatamente por cada observação e pode amplificar erros ou oscilar. Prefira uma tabela compacta e relevante ao alvo em vez de incluir observações distantes apenas para aumentar o grau.
Como é feito o cálculo das diferenças regressivas
Considere h como o espaçamento comum, x n como a coordenada final tabelada e p como a coordenada-alvo menos x n, dividida por h. A fórmula começa pelo último valor de y. Em seguida, soma p vezes a primeira diferença regressiva do extremo e depois p vezes p mais um, dividido por dois fatorial, vezes a segunda diferença. Cada termo posterior amplia esse produto crescente e o divide pelo fatorial correspondente. A calculadora constrói as diferenças finitas subtraindo repetidamente cada valor do valor imediatamente seguinte. O último elemento de cada linha de diferenças é o valor do extremo exigido pela fórmula. Na resposta, os termos aparecem a partir da ordem zero. Cada termo apresenta coeficiente, diferença regressiva e contribuição, permitindo que você reproduza a soma ou localize um erro aritmético manual. O p informado também mede a distância até a última linha em unidades do espaçamento: é zero no extremo e negativo para um alvo logo antes dele.
Como interpretar o resultado e evitar erros
A estimativa é a soma de todas as contribuições; o espaçamento é o passo validado entre valores consecutivos de x; e o grau é um a menos que o número de pontos. O x do extremo identifica a linha usada como âncora. Antes de interpretar a estimativa, confirme se o passo corresponde ao intervalo pretendido e se p tem o sinal e a magnitude esperados. Um valor absoluto de p muito grande indica extrapolação longe do extremo, situação em que o polinômio pode ficar instável. A calculadora rejeita coordenadas fora de ordem ou repetidas, valores não finitos e intervalos desiguais, em vez de aplicar silenciosamente uma fórmula inadequada. Pequenas diferenças de ponto flutuante entre passos decimais que deveriam ser iguais são toleradas, mas uma amostragem claramente irregular não é. A interpolação também pressupõe que um modelo polinomial suave seja apropriado; ela não prova que o processo real se comporte dessa forma. Em dados experimentais, compare o resultado com o conhecimento da área, limites de incerteza ou um ajuste de grau menor. Em tabelas exatas, o detalhamento dos termos mostra um caminho claro dos dados ao valor final.
Casos de uso
Concluir um exercício de métodos numéricos
Monte os termos de diferença no extremo e confira um cálculo manual do polinômio regressivo de Newton.
Estimar um valor no fim da tabela
Aproxime um valor entre as últimas observações equiespaçadas mantendo visível o cálculo ancorado no extremo.
Auditar uma planilha de diferenças finitas
Compare cada coeficiente, diferença regressiva e contribuição com uma planilha ou tabela didática.
Perguntas frequentes
Quanto custa a solicitação pela API?
Cada solicitação pela API custa US$ 0,002. A calculadora também pode ser executada no navegador.
Os valores de x precisam ser equiespaçados?
Sim. A fórmula regressiva padrão de Newton pressupõe um único passo constante h e rejeita dados com espaçamento irregular.
O alvo precisa ficar dentro da tabela?
Não, mas fora do intervalo tabelado ocorre extrapolação, que pode ser bem menos confiável longe do extremo.
Por que o alvo deve ficar perto do último ponto?
A forma regressiva se ancora na última linha, tornando seu parâmetro e suas diferenças mais naturais perto desse extremo.
Quantos pontos devo informar?
Informe entre 2 e 100. Use pontos próximos suficientes para representar a tendência e lembre que ruído ou grau excessivo podem reduzir a confiabilidade.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/calculus/newton-backward-interpolation \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"points":[{"x":0,"y":1},{"x":1,"y":2},{"x":2,"y":5},{"x":3,"y":10}],"target_x":2.5}'const res = await fetch("https://api.kit.forhosting.com/calculus/newton-backward-interpolation", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"points": [
{
"x": 0,
"y": 1
},
{
"x": 1,
"y": 2
},
{
"x": 2,
"y": 5
},
{
"x": 3,
"y": 10
}
],
"target_x": 2.5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/calculus/newton-backward-interpolation",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"points": [
{
"x": 0,
"y": 1
},
{
"x": 1,
"y": 2
},
{
"x": 2,
"y": 5
},
{
"x": 3,
"y": 10
}
],
"target_x": 2.5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/calculus/newton-backward-interpolation", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"points":[{"x":0,"y":1},{"x":1,"y":2},{"x":2,"y":5},{"x":3,"y":10}],"target_x":2.5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"points":[{"x":0,"y":1},{"x":1,"y":2},{"x":2,"y":5},{"x":3,"y":10}],"target_x":2.5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/calculus/newton-backward-interpolation", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"points": [
{
"x": 0,
"y": 1
},
{
"x": 1,
"y": 2
},
{
"x": 2,
"y": 5
},
{
"x": 3,
"y": 10
}
],
"target_x": 2.5
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "calculus.newton_backward_interpolation",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_points | 100 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |