# Solucionador numérico pelo método de Euler (EDO 1ª ordem)

Resolve o problema de valor inicial dy/dx = f(x,y), y(x₀)=y₀ pelo método de Euler explícito: y_{n+1} = y_n + h·f(x_n, y_n), com tabela passo a passo e estimativa final. A solução exata y(x), opcional, adiciona uma coluna de erro que evidencia o erro global O(h) do método de primeira ordem. Exemplo: dy/dx = y, y(0)=1, h=0,1 → y(1) ≈ 1,1¹⁰ = 2,593742 contra e = 2,718282 (erro 0,124539).

> Página canônica: https://elysiatools.com/pt/tools/euler-method-solver

- **Categoria:** Math & Numbers

- **Palavras-chave:** método de euler, euler explícito, edo numérica, integração numérica, problema de valor inicial, passo, método de primeira ordem, aproximação, cálculo

## Visão geral

O solucionador numérico pelo método de Euler calcula aproximações passo a passo para problemas de valor inicial em equações diferenciais ordinárias (EDO) de primeira ordem da forma dy/dx = f(x, y). A ferramenta gera a tabela completa de iterações, a estimativa final no ponto desejado e, opcionalmente, compara o resultado numérico com a solução analítica exata para quantificar o erro global.

## Entradas

- **f(x, y) em dy/dx = f(x, y)** (text): Right-hand side in terms of x and y (functions: sin, cos, exp, ln, sqrt, …). Write products with *, e.g. x*y.
- **x₀ (x inicial)** (number): e.g. 0
- **y₀ = y(x₀)** (number): e.g. 1
- **x alvo** (number): Must be greater than x₀.
- **Número de passos n** (number): h = (target x − x₀)/n. More steps → smaller error, O(h) globally.
- **Solução exata y(x) (opcional)** (text): Exact solution in x, used to add an error column. Leave empty to skip.
- **Casas decimais** (number)

## Quando usar

- Quando você precisa resolver numericamente uma EDO de 1ª ordem com condição inicial y(x₀) = y₀ sem calcular integrais analíticas complexas.
- Ao estudar cálculo numérico e querer visualizar a evolução do erro de aproximação O(h) em cada iteração.
- Para verificar rapidamente exercícios acadêmicos e simulações básicas comparando a aproximação de Euler com a solução exata.

## Como funciona

- Insira a expressão da derivada f(x, y), as condições iniciais (x₀, y₀) e o valor final de x alvo.
- Defina o número de passos n para determinar o tamanho do passo h = (x alvo - x₀) / n e, se desejar, adicione a fórmula da solução exata y(x).
- O algoritmo itera a fórmula explícita de Euler y_{n+1} = y_n + h · f(x_n, y_n) a cada incremento.
- O sistema exibe a tabela detalhada de cada iteração, o valor final aproximado de y e a discrepância em relação à solução analítica informada.

## Casos de uso

- Resolução de modelos de crescimento populacional ou decaimento exponencial onde dy/dx depende diretamente de y.
- Simulação numérica de circuitos elétricos RC e sistemas térmicos modelados por equações diferenciais lineares.
- Validação didática de exercícios de métodos numéricos em cursos de engenharia e ciências exatas.

## Perguntas frequentes

### Como as funções matemáticas devem ser escritas no campo f(x, y)?

Utilize operadores padrão como + e - com multiplicação explícita (*) e funções comuns como sin, cos, exp, ln e sqrt.

### O que acontece ao aumentar o número de passos?

O tamanho do passo h diminui, o que reduz o erro global de discretização de primeira ordem O(h) e melhora a precisão da estimativa.

### É obrigatório preencher a solução exata y(x)?

Não, o campo é opcional e serve exclusivamente para calcular e exibir a coluna de erro absoluto em relação à solução analítica.

### O método de Euler suporta passos no sentido decrescente de x?

Não, o valor de x alvo deve ser estritamente maior do que o ponto inicial x₀.

### Qual a diferença entre erro local e erro global no método de Euler?

O erro local de truncamento por passo é O(h²), enquanto o erro global acumulado ao longo de todo o intervalo é de primeira ordem, O(h).

## Ferramentas relacionadas

- [Calculadora de integral de convolução (numérica)](https://elysiatools.com/pt/tools/convolution-integral-calculator): Calcula numericamente a convolução de dois sinais (f*g)(t) = ∫ f(τ)g(t−τ)dτ: modo causal (ambos os sinais são zero para t<0, integral em \[max(τmin,0), min(τmax,t)\], ideal para produtos do domínio de Laplace) e modo de janela direta (integral em todo \[τmin, τmax\], ideal para sinais bilaterais como gaussianas), pela regra de Simpson composta (2000 intervalos por padrão). Clássicos: e^(−t)*e^(−2t) = e^(−t)−e^(−2t), 0.2325 em t=1; duas gaussianas convoluem para √(π/2)·e^(−t²/2).
- [Calculadora de diferenciação numérica (diferenças progressiva/retroativa/central)](https://elysiatools.com/pt/tools/numerical-differentiation): Aproxima f′(x₀) com três diferenças finitas: progressiva (f(x₀+h)−f(x₀))/h, retroativa (f(x₀)−f(x₀−h))/h e central (f(x₀+h)−f(x₀−h))/(2h), além da segunda derivada central. A derivada exata, opcional, adiciona o erro absoluto de cada método e mostra o contraste O(h) vs. O(h²). Exemplo: f=x², x₀=1, h=0,1 → progressiva 2,1; retroativa 1,9; central exatamente 2,0.
- [Solucionador de EDO de primeira ordem (separação de variáveis)](https://elysiatools.com/pt/tools/first-order-ode-solver): Resolve dy/dx = g(x)·h(y) por separação de variáveis: separa, integra termo a termo obtendo H(y) = G(x) + C e, quando possível, isola y = f(x). Aceita h(y) de um termo (y, y^n, e^(ky), ky+m) e polinômios quadráticos decomponíveis em frações parciais (como o logístico y(1−y)); com a condição inicial y(x₀)=y₀ calcula C e detecta soluções de equilíbrio. Exemplo: dy/dx = 2x·y → y = e^(x²+C).
- [Construtor de Simulação Monte Carlo](https://elysiatools.com/pt/tools/monte-carlo-simulation-builder): Defina distribuições de entrada (normal/uniforme/lognormal/triangular), escreva uma fórmula, execute milhares de ensaios e obtenha o histograma com intervalos de confiança.
- [Calculadora de raízes por Newton-Raphson](https://elysiatools.com/pt/tools/newton-raphson-root-finder): Resolve f(x) = 0 com a iteração de Newton-Raphson x_{k+1} = x_k − f(x_k)/f'(x_k): a derivada pode ser dada analiticamente (se ficar vazia, usa-se uma diferença central numérica); são exibidos a tabela de iterações (x_k e f(x_k)), o critério de paragem (|f| < tolerância ou |Δx| < tolerância·max(1,|x|)), o número de iterações e o |f(raiz)| final. Clássicos: x²−2 a partir de x₀=1 converge em 4 passos para √2 ≈ 1.4142135624; cos(x)−x converge para o número de Dottie 0.7390851332. Derivada nula, passos divergentes ou exceder o limite de iterações são reportados explicitamente.
- [Integrador pela regra de Simpson (∫f(x)dx)](https://elysiatools.com/pt/tools/numerical-integration-simpson): Calcula ∫ₐᵇ f(x)dx pela regra de Simpson 1/3 composta (n par): S = h/3·(f(a) + 4Σnós ímpares + 2Σnós pares interiores + f(b)), com erro O(h⁴) e exata para polinômios de grau ≤ 3. Tabela por nós, estimativa e comparação opcional com o valor exato. Exemplos: ∫₀¹x²dx com n=4 dá 0,333333 (exata!); ∫₀¹e^(−x²)dx (sem primitiva elementar) com n=10 dá 0,746825.
- [Integrador pela regra do trapézio (∫f(x)dx)](https://elysiatools.com/pt/tools/numerical-integration-trapezoid): Calcula ∫ₐᵇ f(x)dx pela regra do trapézio composta: T = h/2·(f(a) + 2Σf(xᵢ) + f(b)), com tabela por nós, estimativa da integral e comparação opcional com o valor exato e o erro absoluto; o erro é O(h²) (exata para funções lineares). Exemplo: ∫₀¹x²dx com n=4 dá 0,34375 contra o exato 1/3, erro 0,010417.
- [Solucionador numérico Runge-Kutta de 4ª ordem (RK4)](https://elysiatools.com/pt/tools/runge-kutta-rk4-solver): Resolve dy/dx = f(x,y), y(x₀)=y₀ com o Runge-Kutta clássico de 4ª ordem: cada passo calcula as quatro inclinações k1–k4 e atualiza y_{n+1} = y_n + h/6·(k1+2k2+2k3+k4), com erro global O(h⁴) — dividir h por 2 reduz o erro ~16 vezes. Fornece a tabela passo a passo, o detalhe de k1–k4 dos primeiros passos e a estimativa final; a solução exata y(x), opcional, adiciona coluna de erro. Exemplo: dy/dx = y, y(0)=1, h=0,1 → y(1) ≈ 2,718282, quase exatamente e.

## Exemplos

- [Exemplos de Processamento de Imagem Android Java](https://elysiatools.com/pt/samples/android-image-processing-java): Exemplos de processamento de imagem Android Java incluindo leitura/escrita, dimensionamento e conversão de formato
- [Exemplos de Processamento de Imagem Android Kotlin](https://elysiatools.com/pt/samples/android-image-processing-kotlin): Exemplos de processamento de imagem Android Kotlin incluindo leitura/escrita, dimensionamento e conversão de formato
- [Exemplos de Processamento de Imagem Web Python](https://elysiatools.com/pt/samples/web-image-processing-python): Exemplos de processamento de imagem Web Python usando PIL/Pillow incluindo leitura, salvamento, redimensionamento e conversão de formato
- [Exemplos de Processamento de Imagem Web Rust](https://elysiatools.com/pt/samples/web-image-processing-rust): Exemplos de processamento de imagem Web Rust incluindo leitura/gravação, redimensionamento e conversão de formato
