Método de Euler para sistemas 2D
Esta calculadora aproxima um sistema acoplado de duas equações diferenciais ordinárias de primeira ordem, dy/dx = f(x,y,z) e dz/dx = g(x,y,z).
Executar grátis
Informe as duas expressões das derivadas, o estado inicial, o passo fixo e a quantidade de etapas. O resultado exibe cada atualização simultânea e as inclinações avaliadas no ponto anterior, permitindo que você confira todo o percurso numérico, e não apenas a resposta final. A ferramenta é útil para estudos, verificações rápidas de modelos e cálculos reproduzíveis com um método transparente de primeira ordem.
Defina o problema acoplado de valor inicial
Escreva a primeira expressão para dy/dx e a segunda para dz/dx. As duas podem usar a variável independente x e as variáveis dependentes y e z. Por exemplo, informe y + z e x - y. A multiplicação precisa ser explícita: use 2*y, não 2y. O analisador aceita parênteses, números decimais e notação científica, os operadores +, -, *, / e ^, as constantes pi e e, além das funções sin, cos, tan, exp, log, sqrt e abs. Em seguida, forneça x0, y0 e z0 para determinar o estado inicial. As duas inclinações são calculadas a partir do mesmo estado atual antes que qualquer variável seja atualizada. Usar um y já atualizado no cálculo de z deixaria de ser o método de Euler explícito padrão.
Entenda cada atualização de passo fixo
Para o passo h e o ponto atual (x_n, y_n, z_n), a calculadora avalia f_n = f(x_n,y_n,z_n) e g_n = g(x_n,y_n,z_n). Depois aplica y_(n+1) = y_n + h*f_n, z_(n+1) = z_n + h*g_n e x_(n+1) = x_n + h. A saída começa na etapa zero, com o estado inicial, e lista todos os pontos calculados. Cada linha posterior inclui dy_dx e dz_dx, as inclinações usadas para chegar até ela. Assim, você pode conferir o trabalho multiplicando cada inclinação pelo passo e somando o resultado ao valor dependente anterior. Um passo negativo permite avançar para valores menores de x. O ponto final é sempre x0 + steps*h, sem arredondamento oculto do destino ou redução do último intervalo.
Escolha o passo e interprete a aproximação
O método de Euler é uma aproximação numérica de primeira ordem, não um solucionador simbólico nem uma garantia de erro. Diminuir o valor absoluto do passo costuma reduzir o erro de discretização em sistemas suaves, mas exige mais etapas. Uma verificação prática é repetir o problema com metade do passo e o dobro de etapas e comparar os estados nos mesmos valores de x. Uma diferença grande mostra que o cálculo mais grosseiro ainda não é adequado. Sistemas rígidos, singulares, descontínuos ou muito sensíveis podem apresentar resultados ruins com Euler explícito. A calculadora interrompe o processamento se uma derivada ou atualização gerar infinito ou NaN. Use o resultado para aprender, auditar um exercício ou obter uma estimativa inicial. Em aplicações críticas, prefira um método adaptativo de ordem superior e valide separadamente o modelo, as tolerâncias e as unidades.
Casos de uso
Conferir um exercício de equações diferenciais
Compare cada par de inclinações e atualização simultânea feita à mão com uma tabela determinística.
Explorar um modelo acoplado simples
Aproxime populações, compartimentos ou variáveis de estado interativas antes de adotar um solucionador de ordem superior.
Testar a sensibilidade ao passo
Repita o mesmo problema inicial com passos fixos diferentes e compare os estados em coordenadas x comuns.
Perguntas frequentes
Quanto custa a calculadora?
Você pode executá-la gratuitamente no navegador. Uma solicitação pela API custa US$ 0,002.
As variáveis y e z são atualizadas ao mesmo tempo?
Sim. As duas derivadas são avaliadas nos mesmos valores atuais de x, y e z antes que as variáveis dependentes avancem.
Qual sintaxe de expressão é aceita?
Use x, y, z, operadores aritméticos explícitos, parênteses, pi, e e as funções sin, cos, tan, exp, log, sqrt e abs.
É possível calcular no sentido negativo de x?
Sim. Informe um step_size negativo. O valor zero é recusado porque repetiria a mesma coordenada x.
Quantas etapas uma solicitação pode calcular?
De 1 a 10,000 etapas fixas. Todos os pontos calculados aparecem na resposta.
O método de Euler garante uma solução precisa?
Não. A precisão depende do sistema e do passo. Compare refinamentos ou use um método adaptativo de ordem superior quando necessário.
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/euler-method-system-2d \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"derivative_y":"y + z","derivative_z":"x - y","x0":0,"y0":1,"z0":0,"step_size":0.1,"steps":4}'const res = await fetch("https://api.kit.forhosting.com/calculus/euler-method-system-2d", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"derivative_y": "y + z",
"derivative_z": "x - y",
"x0": 0,
"y0": 1,
"z0": 0,
"step_size": 0.1,
"steps": 4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/calculus/euler-method-system-2d",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"derivative_y": "y + z",
"derivative_z": "x - y",
"x0": 0,
"y0": 1,
"z0": 0,
"step_size": 0.1,
"steps": 4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/calculus/euler-method-system-2d", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"derivative_y":"y + z","derivative_z":"x - y","x0":0,"y0":1,"z0":0,"step_size":0.1,"steps":4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"derivative_y":"y + z","derivative_z":"x - y","x0":0,"y0":1,"z0":0,"step_size":0.1,"steps":4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/calculus/euler-method-system-2d", 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
{
"derivative_y": "y + z",
"derivative_z": "x - y",
"x0": 0,
"y0": 1,
"z0": 0,
"step_size": 0.1,
"steps": 4
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "calculus.euler_method_system_2d",
"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_steps | 10000 |
max_expression_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. |