Calculadora Runge-Kutta 4 de passo único
Esta calculadora Runge-Kutta 4 de passo único avança uma equação diferencial de primeira ordem de um ponto conhecido ao seguinte.
Executar grátis
Informe a derivada como f(x, y), as coordenadas iniciais e um tamanho de passo diferente de zero. O resultado mostra k1, k2, k3 e k4 como estimativas de inclinação, os pontos intermediários em que são avaliadas, a média ponderada e a aproximação RK4 final. Esse histórico completo ajuda você a conferir exercícios, validar um solucionador numérico ou documentar um passo sem ocultar a aritmética.
Descreva claramente o problema de valor inicial
Comece com uma equação de primeira ordem escrita como y' = f(x, y). No campo de expressão, informe somente o lado direito, usando x e y como variáveis independente e dependente. Por exemplo, se y' = x + y, digite x + y. O analisador aceita aritmética comum, parênteses, potências escritas com ^, as constantes pi e e, além de funções usuais como sin, cos, exp, log e sqrt. Em seguida, informe o ponto conhecido (x, y) e o tamanho de passo h. Um h positivo avança para a direita, enquanto um h negativo executa a mesma construção RK4 no sentido inverso. O passo não pode ser zero, pois a solução não avançaria. Todas as entradas numéricas e todos os valores de função precisam ser finitos. A multiplicação deve ser explícita: escreva 2*x em vez de 2x. Esse formato preciso evita que um rótulo de equação ou uma multiplicação implícita seja interpretado de forma inesperada e mantém as quatro avaliações reproduzíveis.
Acompanhe as quatro estimativas de inclinação
A calculadora apresenta k1 até k4 como inclinações, seguindo a convenção k1 = f(x, y), e não como incrementos já multiplicados por h. Primeiro, k1 usa o ponto inicial. A segunda estimativa usa o ponto médio x + h/2 e prevê sua coordenada y com h*k1/2. A terceira permanece no ponto médio, mas troca essa previsão por h*k2/2, corrigindo a direção com a segunda inclinação. Por fim, k4 avalia a derivada em x + h com uma previsão de y para o passo completo baseada em k3. Os campos retornados k2_point, k3_point e k4_point exibem diretamente essas coordenadas de avaliação. Isso importa porque alguns livros usam os mesmos símbolos k para h vezes cada inclinação. Se a sua referência adotar essa outra convenção, multiplique cada valor k exibido por h antes de comparar as etapas. A aproximação final de y permanece igual quando a fórmula correspondente é aplicada de maneira consistente.
Interprete a atualização ponderada e seus limites
O RK4 combina as inclinações como (k1 + 2*k2 + 2*k3 + k4)/6, dando às duas estimativas do ponto médio o dobro do peso das estimativas das extremidades. A calculadora retorna essa quantidade como weighted_slope e calcula depois y_next = y + h*weighted_slope e x_next = x + h. Um passo RK4 tem precisão de quarta ordem no sentido local padrão para uma derivada suficientemente suave, mas isso não garante que qualquer tamanho de passo seja pequeno o bastante. Um problema com variação rápida, singularidade, descontinuidade ou rigidez pode exigir um h muito menor ou um método com controle de erro. Esta ferramenta realiza intencionalmente apenas um passo fixo: ela não estima o erro de truncamento, não adapta o passo nem resolve um intervalo. Para avaliar a sensibilidade, compare um passo de tamanho h com dois passos sucessivos de tamanho h/2 em um solucionador completo. Use as etapas exibidas para localizar diferenças causadas pela expressão, pelo arredondamento ou pela convenção das inclinações.
Casos de uso
Conferir um exercício didático
Verifique cada inclinação RK4 intermediária e a próxima aproximação de y, em vez de comparar apenas o número final.
Depurar um solucionador numérico
Compare um passo conhecido, inclusive seus estados intermediários, com uma planilha, um script ou uma simulação.
Documentar um cálculo de engenharia
Registre as quatro avaliações determinísticas da derivada e a atualização ponderada usada para avançar o modelo.
Perguntas frequentes
Quanto custa um cálculo pela API?
Uma solicitação à API custa US$ 0,002. A calculadora do navegador roda localmente e é gratuita.
k1, k2, k3 e k4 são inclinações ou incrementos?
São inclinações: valores diretos de f(x, y). Multiplique cada uma por h se a sua referência definir cada k como incremento.
O tamanho de passo pode ser negativo?
Sim. Um passo negativo finito aplica as mesmas fórmulas RK4 para avançar em direção a um valor menor de x.
Qual sintaxe de expressão é aceita?
Use x, y, números, pi, e, parênteses, +, -, *, /, ^ e funções aceitas de um argumento, como sin, cos, exp, log e sqrt.
Isto resolve a equação diferencial em um intervalo?
Não. A ferramenta executa exatamente um passo RK4 fixo desde o ponto inicial informado e não escolhe o passo nem estima o erro.
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/rk4-single-step \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"expression":"x + y","x":0,"y":1,"step_size":0.1}'const res = await fetch("https://api.kit.forhosting.com/calculus/rk4-single-step", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"expression": "x + y",
"x": 0,
"y": 1,
"step_size": 0.1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/calculus/rk4-single-step",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"expression": "x + y",
"x": 0,
"y": 1,
"step_size": 0.1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/calculus/rk4-single-step", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"expression":"x + y","x":0,"y":1,"step_size":0.1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"expression":"x + y","x":0,"y":1,"step_size":0.1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/calculus/rk4-single-step", 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
{
"expression": "x + y",
"x": 0,
"y": 1,
"step_size": 0.1
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "calculus.rk4_single_step",
"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_chars | 500 |
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. |