User talk:Javiutrera
Método de Euler
Definición': El **Método de Euler** es un método numérico sencillo para resolver ecuaciones diferenciales ordinarias (EDO) de primer orden. Se utiliza para aproximar soluciones de ecuaciones diferenciales utilizando pasos finitos para aproximar la solución en intervalos sucesivos.
Fórmula': Si tienes una ecuación diferencial del tipo:
dy/dx = f(x, y)
con una condición inicial y(x₀) = y₀, el Método de Euler se aproxima a la solución con la siguiente fórmula iterativa:
yₙ₊₁ = yₙ + h * f(xₙ, yₙ)
donde h es el tamaño del paso.
Ejemplo': Si deseas resolver la ecuación diferencial dy/dx = -2y con y(0) = 1, puedes usar el Método de Euler para obtener una aproximación de y en diferentes puntos.
Aplicación': Este método es útil para aproximaciones rápidas, aunque tiene limitaciones de precisión comparado con métodos más sofisticados como el de Runge-Kutta.
Código Matlab:
function [x, y] = metodo_euler(f, x0, y0, h, n)
% Implementación del Método de Euler para resolver EDOs % f: función que describe la EDO dy/dx = f(x, y) % x0: valor inicial de x % y0: valor inicial de y % h: tamaño del paso % n: número de pasos
% Inicialización de las variables x = zeros(1, n+1); y = zeros(1, n+1); x(1) = x0; y(1) = y0;
% Iteración para aplicar el método for i = 1:n y(i+1) = y(i) + h * f(x(i), y(i)); x(i+1) = x(i) + h; end
end
Ejemplo propuesto usando el código de Matlab:
% Definir la función dy/dx = -2*y
f = @(x, y) -2*y;
% Condiciones iniciales
x0 = 0; y0 = 1; h = 0.1; % Tamaño de paso n = 20; % Número de pasos
% Llamar al método de Euler
[x, y] = metodo_euler(f, x0, y0, h, n);
% Mostrar los resultados
disp([x' y'])
Método de Runge-Kutta
Definición: El Método de Runge-Kutta es una técnica numérica avanzada para resolver ecuaciones diferenciales ordinarias (EDO). A diferencia del Método de Euler, que es un método de primer orden, los métodos de Runge-Kutta permiten obtener aproximaciones más precisas al considerar diferentes evaluaciones de la pendiente dentro del intervalo. El método más común es el Runge-Kutta de 4º orden (RK4).
Fórmula: Si tenemos la ecuación diferencial: dy/dx = f(x, y)
Con la condición inicial y(x0) = y0, el método de Runge-Kutta de 4º orden aproxima la solución de la siguiente forma:
k1 = h * f(xn, yn) k2 = h * f(xn + h/2, yn + k1/2) k3 = h * f(xn + h/2, yn + k2/2) k4 = h * f(xn + h, yn + k3) La solución final será: yn+1 = yn + (1/6) * (k1 + 2k2 + 2k3 + k4)
Donde "h" es el tamaño del paso.
Ejemplo: Supongamos que deseas resolver la ecuación diferencial dy/dx = -2y con y(0) = 1 y un tamaño de paso h = 0.1. Puedes usar el Método de Runge-Kutta de 4º orden para obtener una aproximación de y en diferentes puntos.
Aplicación: Este método es más preciso que el Método de Euler y es ampliamente utilizado en problemas de ingeniería y física donde se requiere un alto grado de precisión en la solución de ecuaciones diferenciales.
Código Matlab:
function [x, y] = metodo_rk4(f, x0, y0, h, n)
% Implementación del Método de Runge-Kutta de 4º orden para resolver EDOs % f: función que describe la EDO dy/dx = f(x, y) % x0: valor inicial de x % y0: valor inicial de y % h: tamaño del paso % n: número de pasos
% Inicialización de las variables x = zeros(1, n+1); y = zeros(1, n+1); x(1) = x0; y(1) = y0;
% Iteración para aplicar el método for i = 1:n k1 = h * f(x(i), y(i)); k2 = h * f(x(i) + h/2, y(i) + k1/2); k3 = h * f(x(i) + h/2, y(i) + k2/2); k4 = h * f(x(i) + h, y(i) + k3); y(i+1) = y(i) + (1/6) * (k1 + 2*k2 + 2*k3 + k4); x(i+1) = x(i) + h; end
end
Ejemplo propuesto usando Matlab:
% Definir la función dy/dx = -2*y
f = @(x, y) -2*y;
% Condiciones iniciales
x0 = 0;
y0 = 1;
h = 0.1; % Tamaño de paso
n = 20; % Número de pasos
% Llamar al método de Runge-Kutta de 4º orden
[x, y] = metodo_rk4(f, x0, y0, h, n);
% Mostrar los resultados
disp([x' y'])