Calculadora Runge-Kutta 4 de un paso
Esta calculadora Runge-Kutta 4 de un solo paso avanza una ecuación diferencial de primer orden desde un punto conocido hasta el siguiente.
Ejecutar — gratis
Introduzca la derivada como f(x, y), las coordenadas iniciales y un tamaño de paso distinto de cero. El resultado muestra k1, k2, k3 y k4 como estimaciones de pendiente, los puntos intermedios donde se evalúan, su promedio ponderado y la aproximación RK4 final. Este desglose permite comprobar ejercicios, validar un solucionador numérico o documentar un paso sin ocultar la aritmética.
Describa con claridad el problema de valor inicial
Comience con una ecuación de primer orden escrita como y' = f(x, y). En el campo de expresión, introduzca únicamente el lado derecho y use x e y como variables independiente y dependiente. Por ejemplo, si y' = x + y, escriba x + y. El analizador admite aritmética habitual, paréntesis, potencias con ^, las constantes pi y e, y funciones comunes como sin, cos, exp, log y sqrt. Indique después el punto conocido (x, y) y el tamaño de paso h. Un h positivo avanza hacia la derecha; uno negativo aplica la misma construcción RK4 hacia atrás. El paso no puede ser cero, pues la solución no avanzaría. Todas las entradas numéricas y los valores de las funciones deben ser finitos. La multiplicación debe aparecer de forma explícita: escriba 2*x y no 2x. Este formato evita interpretaciones accidentales de rótulos de ecuaciones o multiplicaciones implícitas y mantiene reproducibles las cuatro evaluaciones.
Siga las cuatro estimaciones de pendiente
La calculadora presenta de k1 a k4 como pendientes, según la convención k1 = f(x, y), y no como incrementos ya multiplicados por h. Primero, k1 utiliza el punto inicial. La segunda estimación emplea el punto medio x + h/2 y predice su coordenada y mediante h*k1/2. La tercera permanece en el punto medio, pero sustituye esa predicción por h*k2/2, lo que corrige la dirección con la segunda pendiente. Por último, k4 evalúa la derivada en x + h con una predicción de y a paso completo basada en k3. Los campos devueltos k2_point, k3_point y k4_point muestran directamente esas coordenadas de evaluación. Esto es importante porque algunos libros usan los mismos símbolos k para h veces cada pendiente. Si su fuente sigue esa otra convención, multiplique por h cada valor k mostrado antes de comparar las etapas. La aproximación final de y no cambia si se aplica de manera coherente la fórmula correspondiente.
Interprete la actualización ponderada y sus límites
RK4 combina las pendientes como (k1 + 2*k2 + 2*k3 + k4)/6, de modo que las dos estimaciones del punto medio reciben el doble de peso que las de los extremos. La calculadora devuelve esta cantidad como weighted_slope y después calcula y_next = y + h*weighted_slope y x_next = x + h. Un paso RK4 tiene precisión de cuarto orden en el sentido local habitual cuando la derivada es suficientemente suave, pero esto no garantiza que cualquier tamaño de paso sea lo bastante pequeño. Un problema que cambie con rapidez, sea singular, discontinuo o rígido puede exigir un h mucho menor o un método con control de error. La herramienta realiza deliberadamente un solo paso fijo: no estima el error de truncamiento, no adapta el paso ni resuelve un intervalo. Para estudiar la sensibilidad, compare un paso de tamaño h con dos pasos sucesivos de tamaño h/2 en un solucionador completo. Use las etapas mostradas para localizar diferencias debidas a la expresión, el redondeo o la convención de pendientes.
Qué puede hacer con ella
Comprobar un ejercicio de libro
Verifique cada pendiente RK4 intermedia y la siguiente aproximación de y, no solo el número final.
Depurar un solucionador numérico
Compare un paso conocido, incluidos sus estados intermedios, con una hoja de cálculo, un script o una simulación.
Documentar un cálculo de ingeniería
Registre las cuatro evaluaciones deterministas de la derivada y la actualización ponderada que hacen avanzar el modelo.
Preguntas frecuentes
¿Cuánto cuesta un cálculo mediante la API?
Una solicitud a la API cuesta $0.002. La calculadora del navegador se ejecuta localmente y es gratuita.
¿k1, k2, k3 y k4 son pendientes o incrementos?
Son pendientes: valores directos de f(x, y). Multiplíquelos por h si su referencia define cada k como incremento.
¿Puede ser negativo el tamaño de paso?
Sí. Un paso negativo finito aplica las mismas fórmulas RK4 para avanzar hacia un valor menor de x.
¿Qué sintaxis de expresiones se admite?
Use x, y, números, pi, e, paréntesis, +, -, *, /, ^ y funciones de un argumento admitidas, como sin, cos, exp, log y sqrt.
¿Resuelve la ecuación diferencial en un intervalo?
No. Ejecuta exactamente un paso RK4 fijo desde el punto inicial indicado y no elige el paso ni estima el error.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
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)Ejemplo de solicitud
{
"expression": "x + y",
"x": 0,
"y": 1,
"step_size": 0.1
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "calculus.rk4_single_step",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_chars | 500 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |