1 - Simulación Circuito RC Básico

1 - Simulación Circuito RC Básico


Laboratorio
electromedicina circuito RC Método de Euler

Fórmulas del Método de Euler

Consideramos una ecuación diferencial ordinaria dada por:

dydt=f(t,y),y(t0)=y0\frac{dy}{dt} = f(t, y), \quad y(t_0) = y_0

Donde y(t0)y(t_0) es el valor inicial. La derivada en la ecuación anterior puede aproximarse por:

dydty(t+Δt)y(t)Δt\frac{dy}{dt} \approx \frac{y(t+\Delta t) - y(t)}{\Delta t}

Substituyendo esta aproximación en la ecuación diferencial y reorganizando los términos para calcular el siguiente valor de yy, se obtiene:

y(t0+Δt)=y(t0)+f(t0,y0)Δty(t_0 + \Delta t) = y(t_0) + f(t_0, y_0)\Delta t

Esta ecuación se puede utilizar iterativamente, avanzando la solución a t=t0+2Δtt = t_0 + 2\Delta t usando y(t0+Δt)y(t_0 + \Delta t), y así sucesivamente. Generalizando para cualquier paso iterativo, tenemos:

yt+Δt=yt+f(t,yt)Δty_{t+\Delta t} = y_t + f(t, y_t)\Delta t

Esta es la ecuación iterativa de Euler, que se utiliza frecuentemente en ingeniería debido a su simplicidad y rapidez. Sin embargo, tiene la desventaja de no ser particularmente precisa y solo es condicionalmente estable. El error en el método de Euler es proporcional al tamaño del paso de tiempo Δt\Delta t. Reducir Δt\Delta t mejora la precisión de la aproximación.

Aqui tienes un codigo que podria servirte para la implementación:

metodo_euler.m
function [t, y] = eulerMethod(f, t0, y0, dt, tf)
    % f es la función diferencial f(t, y)
    % t0 es el tiempo inicial
    % y0 es el valor inicial de y en t = t0
    % dt es el paso de tiempo \Delta t
    % tf es el tiempo final de la simulación
    
    % Calcula el número de pasos necesarios
    N = floor((tf - t0) / dt);
    
    % Inicializa vectores de tiempo y solución
    t = zeros(1, N+1);
    y = zeros(1, N+1);
    
    % Establece las condiciones iniciales
    t(1) = t0;
    y(1) = y0;
    
    % Itera el método de Euler
    for i = 1:N
        t(i+1) = t(i) + dt;
        y(i+1) = y(i) + f(t(i), y(i)) * dt;
    end
end
ejemplo