Método de Euler para sistemas 2D
Esta calculadora aproxima un sistema acoplado de dos ecuaciones diferenciales ordinarias de primer orden, dy/dx = f(x,y,z) y dz/dx = g(x,y,z).
Ejecutar — gratis
Introduzca ambas expresiones derivadas, el estado inicial, un paso fijo y el número de iteraciones. El resultado muestra cada actualización simultánea y las pendientes evaluadas en el punto anterior, para que usted pueda revisar todo el recorrido numérico y no solo el resultado final. Es útil para estudiar, comprobar modelos sencillos y reproducir cálculos transparentes de primer orden.
Defina el problema de valores iniciales acoplado
Escriba la primera derivada como una expresión para dy/dx y la segunda como una expresión para dz/dx. Ambas pueden usar la variable independiente x y las dependientes y y z. Por ejemplo, puede indicar y + z y x - y. La multiplicación debe ser explícita: escriba 2*y, no 2y. Se admiten paréntesis, números decimales y notación científica, los operadores +, -, *, / y ^, las constantes pi y e, y las funciones sin, cos, tan, exp, log, sqrt y abs. Después, indique x0, y0 y z0. Las dos pendientes se evalúan con el mismo estado actual antes de actualizar las variables; usar un valor de y ya actualizado para calcular z no sería el método de Euler explícito estándar.
Comprenda cada actualización fija de Euler
Con un paso h y el punto actual (x_n, y_n, z_n), la calculadora obtiene f_n = f(x_n,y_n,z_n) y g_n = g(x_n,y_n,z_n). Luego aplica y_(n+1) = y_n + h*f_n, z_(n+1) = z_n + h*g_n y x_(n+1) = x_n + h. La salida comienza en el paso cero con el estado inicial y enumera todos los puntos calculados. Cada fila posterior incluye dy_dx y dz_dx, es decir, las pendientes empleadas para llegar desde la fila anterior. Así, usted puede verificar el cálculo multiplicando cada pendiente por el paso y sumándola al valor dependiente previo. Se admite un paso negativo para avanzar hacia valores menores de x. El extremo siempre es x0 + steps*h, sin redondeos ocultos ni un último intervalo reducido.
Elija el paso e interprete la aproximación
El método de Euler es una aproximación numérica de primer orden, no un solucionador simbólico ni una garantía de error. Un paso absoluto menor suele reducir el error de discretización en sistemas suaves, aunque exige más iteraciones. Una comprobación práctica consiste en repetir el problema con la mitad del paso y el doble de iteraciones, y comparar estados en los mismos valores de x. Una diferencia grande indica que la malla gruesa aún no es adecuada. Los sistemas rígidos, singulares, discontinuos o muy sensibles pueden comportarse mal con Euler explícito. La calculadora se detiene si una derivada o actualización produce infinito o NaN. Úsela para aprender, auditar ejercicios o elaborar una primera estimación; para aplicaciones críticas, emplee un método adaptativo de orden superior y valide por separado el modelo, las tolerancias y las unidades.
Qué puede hacer con ella
Revisar un ejercicio de ecuaciones diferenciales
Compare cada par de pendientes y cada actualización simultánea calculada a mano con una tabla determinista.
Explorar un modelo acoplado sencillo
Aproxime poblaciones, compartimentos o variables de estado que interactúan antes de usar un solucionador de orden superior.
Comprobar la sensibilidad al paso
Repita el mismo problema inicial con distintos pasos fijos y compare los estados en coordenadas x comunes.
Preguntas frecuentes
¿Cuánto cuesta la calculadora?
Puede ejecutarla gratis en el navegador. Cada solicitud por API cuesta $0.002.
¿Se actualizan y y z simultáneamente?
Sí. Ambas derivadas se evalúan con los mismos x, y y z actuales antes de avanzar las dos variables dependientes.
¿Qué sintaxis de expresiones se admite?
Use x, y, z, operadores aritméticos explícitos, paréntesis, pi, e y las funciones sin, cos, tan, exp, log, sqrt y abs.
¿Puede calcular hacia atrás en x?
Sí. Indique un step_size negativo. El valor cero se rechaza porque repetiría la misma coordenada x.
¿Cuántos pasos puede calcular una solicitud?
Entre 1 y 10,000 pasos fijos. La respuesta incluye cada punto calculado.
¿El método de Euler garantiza una solución exacta?
No. La precisión depende del sistema y del paso. Compare refinamientos o use un método adaptativo de orden superior cuando sea importante.
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/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)Ejemplo de solicitud
{
"derivative_y": "y + z",
"derivative_z": "x - y",
"x0": 0,
"y0": 1,
"z0": 0,
"step_size": 0.1,
"steps": 4
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "calculus.euler_method_system_2d",
"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_steps | 10000 |
max_expression_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. |