# Solucionador numérico Runge-Kutta de 4ª ordem (RK4)

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.

> Página canônica: https://elysiatools.com/pt/tools/runge-kutta-rk4-solver

- **Categoria:** Math & Numbers

- **Palavras-chave:** runge kutta, rk4, runge-kutta de quarta ordem, edo numérica, integração numérica, problema de valor inicial, passo, cálculo

## Visão geral

O solucionador numérico Runge-Kutta de 4ª ordem (RK4) resolve equações diferenciais ordinárias de primeira ordem no formato dy/dx = f(x, y) a partir de uma condição inicial y(x₀) = y₀. A ferramenta calcula o passo h com base no intervalo e número de passos definidos, avalia as quatro inclinações intermediárias k1, k2, k3 e k4 em cada iteração e gera uma tabela detalhada com valores calculados e erros em relação à solução exata opcional.

## 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 dy/dx = f(x, y) com alta precisão e erro global de ordem O(h⁴).
- Quando você estuda métodos numéricos e precisa visualizar o detalhamento das inclinações intermediárias k1–k4 nos primeiros passos.
- Quando você deseja comparar a aproximação numérica com a solução analítica exata y(x) para analisar os erros absolutos por iteração.

## Como funciona

- Informe a função f(x, y), os valores iniciais x₀ e y₀, o ponto final x alvo e a quantidade de passos desejada.
- Opcionalmente, forneça a expressão analítica y(x) e ajuste o número de casas decimais para a formatação do resultado.
- O algoritmo calcula o tamanho do passo h = (x alvo - x₀)/n e executa a média ponderada das quatro inclinações em cada iteração.
- A ferramenta exibe o resumo dos parâmetros, as inclinações k1–k4 dos passos iniciais, a tabela iterativa completa e o valor final aproximado.

## Casos de uso

- Validação de exercícios acadêmicos de cálculo numérico e análise de convergência de EDOs.
- Aproximação de trajetórias e modelos de decaimento em física sem solução analítica trivial.
- Comparação de precisão entre métodos numéricos usando a tabela de erro absoluto passo a passo.

## Perguntas frequentes

### Como a fórmula clássica do RK4 calcula o próximo valor y_{n+1}?

O método calcula quatro inclinações (k1, k2, k3, k4) ao longo do intervalo h e aplica a média ponderada y_{n+1} = y_n + (h/6) * (k1 + 2*k2 + 2*k3 + k4).

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

Utilize operadores padrão com multiplicação explícita usando *, como em -2*x*y, e funções suportadas como sin, cos, exp, ln e sqrt.

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

Como o método RK4 possui erro global de ordem O(h⁴), reduzir o passo h pela metade geralmente diminui o erro global em cerca de 16 vezes.

### Para que serve o campo de solução exata y(x)?

Ele é opcional e serve para calcular automaticamente o erro absoluto |y_numérico - y_exato| em cada linha da tabela de resultados.

### Existe um limite para a quantidade de passos configurada?

Sim, o campo de passos aceita valores inteiros entre 1 e 10000 para balancear detalhamento numérico e velocidade de cálculo.

## Ferramentas relacionadas

- [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).
- [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.
- [Analisador de convergência de séries (razão/raiz/integral/comparação)](https://elysiatools.com/pt/tools/series-convergence-tester): Analisa a convergência da série Σ aₙ (aₙ como expressão de n): aplica em sequência o critério do termo (aₙ → 0?), o critério da razão L = |aₙ₊₁/aₙ|, o critério da raiz ρ = |aₙ|^(1/n), a comparação com séries p (p = −ln|a(N)|/ln N) e o critério integral (Simpson numérico + comparação de crescimento por década); séries alternadas são detectadas automaticamente e classificadas pelo critério de Leibniz, e para as convergentes a soma é estimada (soma parcial + cauda geométrica ou em lei de potências). Clássicos: Σ1/n² converge (p≈2, soma≈1.6449); Σ1/n diverge (harmônica); Σ0.5ⁿ converge; Σcos(πn)/n converge condicionalmente (soma≈−ln2).
- [Analisador de Assimetria](https://elysiatools.com/pt/tools/skewness-analyzer): Analisar a assimetria dos dados para medir a assimetria da distribuição de probabilidade e identificar padrões de dados
- [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).
- [Solucionador numérico pelo método de Euler (EDO 1ª ordem)](https://elysiatools.com/pt/tools/euler-method-solver): 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).

## Exemplos

- [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 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 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

## Conteúdo relacionado

- [Ferramentas de codificacao e conversao de audio](https://elysiatools.com/pt/hubs/audio-convert): Compare conversao de formatos de audio, ajustes de bitrate, conversao de taxa de amostragem, troca de codec e exportacao em um unico hub.
- [Ferramentas de conversao de formatos de imagem e exportacao animada](https://elysiatools.com/pt/hubs/image-convert): Compare conversores de imagem para JPG, PNG, GIF, AVIF, WebP, TIFF, ICO, base64 e saidas voltadas para animacao em um unico hub.
- [Ferramentas de intercambio JSON e traducao de formatos](https://elysiatools.com/pt/hubs/json-convert): Compare ferramentas de conversao JSON para CSV, YAML, TOML, GraphQL, XML, Markdown, Excel, BSON, EDN e outros formatos estruturados em um unico hub.
- [Ferramentas de conversao de espacos de cor para web e impressao](https://elysiatools.com/pt/hubs/design-convert): Ferramentas reunidas para conversao de espacos de cor entre web e impressao em um unico hub.
