close all; clear all; clc; % MÉTODO DE INTEGRACIÓN DE EULER % EJEMPLO: dx /dt = - 1/tau * x siendo x la variable dependiente y tau un parámetro % esta es una ecuación que tiene solución analítica: x(t) = x(0) exp(-t/tau) tau = 5; x0 = 4; t = 0:20; x1 = x0*exp(-t/tau); % Euler "explícito" : f(x(k)) = - 1/tau * x(k) % x(k+1) = x(k) - delta t / tau * x(k) Dt = 1; for k = 1:20 x2(1) = x0; x2(k+1) = (1 - Dt / tau) * x2(k); % Euler "implícito" : f(x(k+1)) = - 1/tau * x(k+1) % x(k+1) = x(k) - delta t / tau * x(k+1) x3(1) = x0; x3(k+1) = 1 / (1 + Dt/tau) * x3(k); end plot(t,[x1' x2' x3']) xlabel ('t') ylabel ('x') legend ('exacta','explicito','implicito') pause % para Euler "explícito" x(k+1) = (1 + Dt/tau)^(k+1) * x(0) % por lo tanto es estable si abs( 1 - Dt/tau ) < 1 % pero particularmente oscilará si tau < Dt < 2 tau Dt = 8; for k = 1:20 x4(1) = x0; x4(k+1) = (1 - Dt / tau) * x4(k); end plot(t,x4) xlabel ('t') ylabel ('x')