62
1/62 Universidad Politécnica de Madrid–Escuela Técnica Superior de Ingenieros Industriales Matemáticas de Especialidad Ingeniería Eléctrica Integración de Ecuaciones Diferenciales Ordinarias ODE José Luis de la Fuente O’Connor [email protected] [email protected] Clase_integración ODE_2014.pdf

Clase Integración

Embed Size (px)

DESCRIPTION

Tutorial de Integrales

Citation preview

Page 1: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

1/62

Universidad Politécnica de Madrid–Escuela Técnica Superior de Ingenieros Industriales

Matemáticas de EspecialidadIngeniería Eléctrica

Integración deEcuaciones Diferenciales Ordinarias

ODE

José Luis de la Fuente O’[email protected]@upm.es

Clase_integración ODE_2014.pdf

Page 2: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

2/62

Índice

� Introducción

� Integración numérica de EDOs (ODEs)

�Método de Euler�Mejoras en el método de Euler�Método de Taylor�Métodos de Runge-Kutta�Métodos implícitos y problemas stiff

Page 3: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

3/62

Introducción4 Una ecuación diferencial se define en la forma explícita

dy

dtD y0 D f .t; y/; siendo y.0/ D y0:

4 El orden de una ecuación diferencial es el de su máxima derivada.

4 Las ecuaciones diferenciales relacionan las variables de un problema a escaladiferencial, por lo que son independientes de las condiciones de contorno(geometría, condiciones iniciales; : : :)

Page 4: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

4/62

4 Son el denominador común de una amplia familia de problemas de ingeniería enlos que se estudia cómo y por qué varia el comportamiento de sistemas físicos,económicos, sociales, etc.

4 Para resolver un problema concreto es necesario definir las condiciones decontorno y proceder a la integración de la ecuación diferencial.

4 Por ejemplo, la ecuación logística, o función logística,

y 0 D cy.1 � y/

modeliza el crecimiento del tamaño de una población, que es proporcional altamaño actual, y, y a la capacidad remanente (función de los recursosdisponibles).

Page 5: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

5/62

4 Esta ecuación diferencial en típica en el sentido de que tiene infinitas soluciones.Si se le especifica una condición de partida, inmediatamente se identifica quésolución de esas infinitas se tiene.

4 Un problema de valor inicial es el que define la ecuación diferencial y unacondición, o valor inicial, en un intervalo a � t � b:8<

:y 0 D f .t; y/

y.a/ D yat 2 Œa; b�:

Page 6: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

6/62

4 Resulta útil pensar en una ecuación diferencial dentro de un campo de fuerzas ode pendientes (como el de la figura, referida a la ecuación logística).

y

y´ = 5*y*(1-y)

-0,4

-0,2

0

0,2

0,4

0,6

0,8

1

1,2

t

0 0,2 0,4 0,6 0,8 1 1,2 1,4 1,6 1,8 2 2,2

y

y´ = 5*y*(1-y)

-0,4

-0,2

0

0,2

0,4

0,6

0,8

1

1,2

t

0 0,2 0,4 0,6 0,8 1 1,2 1,4 1,6 1,8 2 2,2

4 En el lado derecho se han dibujado, en el mismo campo de fuerzas, las dossoluciones que corresponden a y.0/ D 0;2 y y.0/ D 1;26.

Page 7: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

7/62

4 Tipos de ecuaciones diferenciales:

Ecuaciones diferenciales ordinarias De primer orden: una variabledependiente y una variable independiente. Problemas de valor inicial yproblemas de contorno.

Sistemas de ecuaciones diferenciales N variables dependientesrelacionadas por N ecuaciones diferenciales.

Ecuaciones en derivadas parciales Una variable dependiente y variasvariables independientes. Problemas elípticos, parabólicos e hiperbólicos.

Page 8: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

8/62

Integración numérica de EDOs(ODEs)4 Sólo algunas ecuaciones diferenciales pueden ser integradas analíticamente.

4 La integración numérica permite resolver con precisión y rapidez un grannúmero de problemas prácticos.

4 La integración numérica no obtiene una función analítica y.t/ que satisface laecuación diferencial anterior, sino un conjunto de valores discretos yk que secorresponden con valores discretos, tk, de la variable independiente t .

Page 9: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

9/62

4 Si se desean resultados para otros valores de t se pueden utilizar los métodos deinterpolación vistos previamente.

4 Conocida la función yi en el instante ti los integradores numéricos calculan elvalor yiC1 en tiC1 D ti C h mediante una expresión del tipo

yiC1 D yi C h�;

donde � es un término que incorpora información de la derivada y 0.

Page 10: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

10/62

4 Los métodos que veremos se clasifican en:

De paso simple y paso múltiple Los de paso simple calculan la soluciónyiC1 en el instante tiC1 a partir del valor de la función yi en el instante ti .Por ejemplo, en el método de Euler

yiC1 D yi C f .ti ; yi/h:

� Los métodos de paso múltiple (de n pasos) calculan la solución yiC1 en tiC1a partir del valor de la función y en los instantes ti , ti�1; : : : ; ti�nC1. Porejemplo, en el método de Heun

yiC1 D yi Ch

2

�f .ti ; yi/C f

�tiC1; yi C hf .ti ; yi/

��:

Page 11: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

11/62

Métodos explícitos e implícitos Los métodos explícitos permiten hallaryiC1 directamente sin tener que resolver un sistema de ecuaciones nolineales. Por ejemplo, Runge-Kutta de orden dos

yiC1 D yi C .a1k1 C a2k2/ h;

dondek1 D f .ti ; yi/

k2 D f .ti C p1h; yi C q11k1h/:

� Los métodos implícitos necesitan resolver un sistema de ecuaciones nolineales pues yiC1 aparece a ambos lados de la ecuación; por ejemplo, laregla trapezoidal

yiC1 D yi C1

2

�f .ti ; yi/C f .tiC1; yiC1/

�h:

Page 12: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

12/62

Método de Euler

4 Formulado por Leonhard Euler, Basilea 1707–San Petersburgo 1783.

4 La geometría de los gráficos de los campos de fuerzas o pendientes sugiere“resolver” una ecuación diferencial “siguiendo” las flechas, partiendo de un puntoinicial.

4 Desde el punto de arranque hay que moverse una pequeña distancia, llegándosea un nuevo punto .t1; y1/ en el que se revalúa la pendiente, luego hay quemoverse con esa nueva pendiente otro poco, etc.

4 Esta aproximación será buena en tanto y cuanto la pendiente no cambiesúbitamente.

Page 13: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

13/62

4 Si por ejemplo se trata de resolver8<:y 0 D ty C t3

y.0/ D y0t 2 Œ0; 1�;

en la figura se ve el campo de “fuerzas” de este problema y la solución exactapartiendo de y.0/ D 1.

y

y´ = t*y+t³

0

0,2

0,4

0,6

0,8

1

1,2

1,4

1,6

1,8

2

t

0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1

Page 14: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

14/62

4 La relación general de recurrencia del método de Euler la define

yiC1 D yi C f .ti ; yi/h

en la que f .ti ; yi/ es la pendiente en cada punto –su derivada– y h el paso quese da con esa inclinación.

4 Si usamos Euler en el ejemplo, con h D 0;1, resulta la línea en rojo.

y

y´ = t*y+t³

0

0,2

0,4

0,6

0,8

1

1,2

1,4

1,6

1,8

2

t0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1

Page 15: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

15/62

4 La interpretación geométrica de lo que sucede es esta:

ETSII-UPM

Método de Euler Es el método de integración numérica más sencillo. Se utiliza la derivada en el punto (ti, yi) para avanzar un paso:

Es muy fácil de aplicar aunque no muy preciso, pues la derivada en (ti, yi) no es suficientemente representativa del paso h.

Interpretación geométrica:

ti ti+1

hyi

yi+1= yi+f(ti ,yi)h

valor exacto

valor aproximadoerror

4 Se producen errores de truncamiento en cada punto, por retener sólo dostérminos en el desarrollo de Taylor, y en el total, así como de redondeo en loscálculos del proceso. El global es O.h/.

Page 16: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

16/62

4 Si ensayamos todo esto con este script de Matlab.

% Script del método de Euler con Matlab, Euler_2_S.m% y’(t)=t*y+t^3; solución analítica exacta y(t)=3*exp^(t^2/2)-t^2-2

h = 0.1; h1 = 0.01 % Pasos de integración h=0,1 y h=0,01t = 0:h:1; t1 = 0:h1:1;yx(1)=1.0; yx1(1)=1.0 % Punto de partida

for i=1:length(t)-1 % Bucle del proceso de integraciónk1 = t(i)*yx(i)+t(i)^3;yx(i+1) = yx(i)+h*k1; % Nuevo punto: valor de y

endfor i=1:length(t1)-1 % Bucle del proceso de integración

k11 = t1(i)*yx1(i)+t1(i)^3;yx1(i+1) = yx1(i)+h1*k11; % Nuevo punto: valor de y

end

y=3*exp(t.^2/2)-t.^2-2; % Solución exacta

% Gráficos

plot(t,yx,’b--’,t,y,’r-’,t1,yx1,’k--’);legend(’Aproximación h=0,1’,’Exacto y’,’aproximación h=0,01’);title(’Paso de Euler, h=0,1 y h=0,01’);xlabel(’t’);ylabel(’y*(t), y(t)’); axis([0 1 0.95 2]);

% Tabla

for i=1:length(t)disp(sprintf(’t=%5.3f, y(t)=%6.4f, y*(t)=%6.4f’,t(i),y(i),yx(i)));

end

Page 17: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

17/62

4 Con pasos h D 0;1 y h D 0;01 se obtiene lo que sigue.

>> Euler_2_St=0.000, y(t)=1.0000, y*(t)=1.0000t=0.100, y(t)=1.0050, y*(t)=1.0000t=0.200, y(t)=1.0206, y*(t)=1.0101t=0.300, y(t)=1.0481, y*(t)=1.0311t=0.400, y(t)=1.0899, y*(t)=1.0647t=0.500, y(t)=1.1494, y*(t)=1.1137t=0.600, y(t)=1.2317, y*(t)=1.1819t=0.700, y(t)=1.3429, y*(t)=1.2744t=0.800, y(t)=1.4914, y*(t)=1.3979t=0.900, y(t)=1.6879, y*(t)=1.5610t=1.000, y(t)=1.9462, y*(t)=1.7744>>

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

1

1.1

1.2

1.3

1.4

1.5

1.6

1.7

1.8

1.9

2

t

y*(t

), y

(t)

Paso de Euler, h=0,1 y h=0,01

Aproximación h=0,1Exacto yaproximación h=0,01

4 Con el paso de integración h D 0;1 los errores son apreciables.

Page 18: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

18/62

Mejoras del método de EulerMétodo de Heun

4 Formulado por Karl Heun, Alemania (Wiesbaden 1859–Karlsruhe 1929).Su idea fue utilizar en .ti ; yi/ un valor promedio de la derivada en ese punto yen .tiC1; yiC1/.

4 Como no se conoce el valor yiC1, se calcula con el método de Euler,y�iC1 D yi C hf .ti ; yi/.

4 El nuevo valor de yiC1 será

yiC1 D yi Ch

2

�f .ti ; yi/C f .tiC1; y

iC1/�:

4 El método se conoce como predictor-corrector. El error es O.h3/.

Page 19: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

19/62

4 Una variante de este mismo método, denominada método del trapezoide,consiste en hacer iterar el yiC1, en cada nuevo paso, de acuerdo con la fórmula

yjiC1 D yi C

h

2

�f .ti ; yi/C f

�tiC1; y

j�1iC1

��hasta que se cumpla una tolerancia de

ˇyjiC1 � y

j�1iC1

ˇ.

Ejemplo

4 Integremos la ecuación y 0 D 4e0;8t � 0;5y en el intervalo t D Œ0; 4� de talforma que en t D 0, y D 2. El paso ha de ser h D 1. Lo haremos con elmétodo de Euler y con el de Heun, sin y con iteración (trapezoide).

Page 20: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

20/62

4 Utilizaremos esta function de Matlab.

function [t,yx,y,y_h,y_hi] = Heun_4(dydt,tspan,y0,h,es,maxit)% Método de Heun para integrar una ODE% dydt: función que evalúa la ODE; tspan: intervalos de cálculo% y0: punto de partida; h: paso; es: tolerancia de iteración corrector% maxit: máximo de iteraciones; yx: valor exacto; y: valor con Euler% y_h: valor con Heun sin itera.; y_hi: con iteración

if nargin<6, maxit = 50; end; if nargin<5, es = 0.0001; endti = tspan(1); tf = tspan(2); t = (ti:h:tf)’; n = length(t);if t(n)<tf, t(n+1)=tf; n=n+1; end % Por si acaso, un intervalo más en ty = y0*ones(n,1); y_h = y; y_hi = y; % Inicializar valoresyx = 4/1.3*(exp(0.8*t)-exp(-0.5*t))+2*exp(-0.5*t); % Valor exacto

for i = 1:n-1hh = t(i+1) - t(i); iter = 0;k1 = dydt(t(i),y(i)); k2 = dydt(t(i),y_h(i)); k3 = dydt(t(i),y_hi(i)); % Derivadasy(i+1) = y(i) + k1*hh; % Eulery_h(i+1) = y_h(i) + hh/2*(k2+dydt(t(i+1),y_h(i)+hh*k2)); % Heun sin iteracióny_hi(i+1) = y_hi(i)+ k3*hh;while 1

yold= y_hi(i+1); k2 = dydt(t(i+1),y_hi(i+1));y_hi(i+1) = y_hi(i) + (k3+k2)*hh/2; % Heun con iteracióniter = iter + 1;if y_hi(i+1)~=0, ea = abs((y_hi(i+1)-yold)/y_hi(i+1))*100; endif ea<=es || iter>=maxit, break, end

endend

plot(t,yx,’b--’,t,y,’r-’,t,y_h,’k--’,t,y_hi,’:’); xlabel(’t’); ylabel(’y’);title(’Solución de y’’=4e^{(0.8t)}-0.5y’); grid onlegend(’Exacto’,’Euler’,’Heun’,’Heun con it.’,’Location’,’NorthWest’);

function dp = dpdt_Heun_c(t, p)dp = 4*exp(0.8*t)-0.5*p;

Page 21: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

21/62

4 El resultado es este.

>> [t,yx,y,y_h,y_hi]=Heun_4(@dpdt_Heun_c,[0 4],2,1);>> [t,yx,y,y_h,y_hi]ans =

0 2.0000 2.0000 2.0000 2.00001.0000 6.1946 5.0000 6.7011 6.36092.0000 14.8439 11.4022 16.3198 15.30223.0000 33.6772 25.5132 37.1992 34.74334.0000 75.3390 56.8493 83.3378 77.7351

0 0.5 1 1.5 2 2.5 3 3.5 40

10

20

30

40

50

60

70

80

90

t

y

Solución de y'=4e(0.8t)-0.5y

ExactoEulerHeunHeun con it.

Page 22: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

22/62

Método del punto medio

4 En vez de utilizar el promedio de las derivadas en los puntos .ti ; yi/ y.tiC1; yiC1/, se utiliza una aproximación de la derivada en el punto medio:

yiC1=2 D yi Ch

2f .ti ; yi/; y 0

iC12D f

�ti C

h

2; yiC1=2

�;

por lo queyiC1 D yi C hf

�tiC1=2; yiC1=2

�:

4 Este procedimiento se conoce también como Euler corregido. Está relacionadocon el método de integración de Newton-Cotes.

4 El error que produce es O.h2/.

Page 23: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

23/62

Método de Taylor

4 Formulado por Brook Taylor, Edmonton, Inglaterra, 1685–Londres, 1731.

4 Si se desarrolla en serie de Taylor y.t/ en el punto ti , suponiendo que y.t/ tienederivadas continuas hasta orden nC 1, se tiene que

y.tiC1/ D y.ti/C hy0.ti/C

h2

2Šy 00.ti/C

h3

3Šy 000.ti/C � � � C

hn

nŠy.n/.ti/CO.hnC1/:

4 Si f es derivable,

y 0 D f .t; y/

y 00 D f 0 D ft C fy � y0 D ft C fy � f

y 000 D f 00 D ft t C 2fty � f C fyy � f2 C ft � fy C f

2y � f

:::

Page 24: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

24/62

4 Sustituyendo estas expresiones en el desarrollo en serie se obtiene el método deTaylor del orden de precisión que se desee.

4 Su gran inconveniente es que las derivadas de orden superior a uno –en estecaso sería el método de Euler– pueden ser muy complicadas de calcular.

Page 25: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

25/62

Métodos de Runge-Kutta

4 Son una familia de métodos desarrollados a partir del trabajo de los alemanesCarl David Tolmé Runge (1856-1927) y Martin Wilhelm Kutta (1867-1944).

4 Consiguen la precisión del método de Taylor sin necesidad de calcular derivadasde orden elevado.

4 El avance se realiza mediante una expresión general

yiC1 D yi C h�; con � D a1k1 C a2k2 C � � � C ankn;

y donde los coeficientes ai son unos pesos de aproximaciones ki de las distintasderivadas por medio de la función f .t; y/ evaluada en distintos puntos.

Page 26: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

26/62

4 Los valores de las ki se obtienen mediante las fórmulas

k1Df .ti ; yi/

k2Df�tiCp1h; yiCq11k1h

�k3Df

�tiCp2h; yiCq21k1hCq22k2h

�:::

knDf�tiCpnh; yiCqn�1;1k1hCqn�1;2k2hC� � � C qn�1;n�1kn�1h

�:

4 Cada valor de ki depende de los ks ya calculados, por lo que la evaluación deestas fórmulas es sencilla si se conocen los coeficientes.

4 Los ps y qs son coeficientes numéricos que se calculan imponiendo la condiciónde que el error sea del mismo orden que en el método de Taylor de orden similar.

Page 27: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

27/62

Deducción de las fórmulas de Runge-Kutta de orden 2

4 SonyiC1DyiC

�a1k1Ca2k2

�h;

dondek1Df .ti ; yi/ � fik2Df .tiCp1h; yiCq11k1h/:

4 El método de Taylor, reteniendo términos hasta orden dos, establece que

yiC1 D yi C hy0.ti/C

h2

2Šy 00.ti/ D yi C hfi C

h2

2

�ft i C fyi � fi

�:

Page 28: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

28/62

4 Desarrollando en serie las fórmulas de Runge-Kutta se tiene que

yiC1DyiC.a1k1Ca2k2/h D yiC�a1f .ti ; yi/Ca2f .tiCp1h; yiCq11k1h/

�h

DyiCa1fihC a2�fiCft ip1hCfyifiq11k1h

�h:

4 Comparando las dos expresiones se llega a estas tres ecuaciones con cuatroincógnitas:

a1 C a2 D 1; a2p1 D1

2y a2q11 D

1

2:

Page 29: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

29/62

4 Dando valores a a2 se obtienen distintas fórmulas de Runge-Kutta de orden 2(con error local de truncamiento O.h3/).

1.- a2 D 12�! p1Dq11D1: Método de Heun

yiC1Dy1 Ch2

�k1 C k2

�k1 Df .ti ; yi/

k2 Df .ti C h; yi C k1h/:

2.- a2 D 1 �! p1Dq11D1=2: Método del Punto Medio

yiC1Dy1 C k2h

k1 Df .ti ; yi/

k2 Df .ti C h=2; yi C k1h=2/:

3.- a2 D 2=3 �! p1Dq11D3=4: Método de Ralston

yiC1Dy1 Ch2

�13k1 C

23k2�

k1 Df .ti ; yi/

k2 Df .ti C34h; yi C

34k1h/:

Page 30: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

30/62

Fórmulas de Runge-Kutta de orden superior a 2

4 Orden 3, con error O.h4/:

yiC1 D y1 Ch6

�k1 C 4k2 C k3

�k1 D f .ti ; yi/

k2 D f�ti C

12h; yi C

12hk1

�k3 D f .ti C h; yi � k1hC 2k2h/ :

4 Orden 4, con error O.h5/:

yiC1 D y1 Ch6

�k1 C 2k2 C 2k3 C k4

�k1 D f .ti ; yi/

k2 D f�ti C

12h; yi C

12hk1

�k3 D f

�ti C

12h; yi C

12hk2

�k4 D f .ti C h; yi C k3h/ :

Page 31: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

31/62

4 La interpretación geométrica de la fórmula de orden 4, la más utilizada yreferenciada, es la de la figura.

ETSII-UPM

Otras fórmulas de Runge-Kutta (1/2) Método de Runge-Kutta de orden 3 (error local O(h4))

Método de Runge-Kutta de orden 4 (clásico, error local O(h5)) Es probablemente el método de integración de EDOs más utilizado.

1 1 2 3

1

2 1

3 1 2

46

( , )1 1 ( , )2 2

( , 2 )

i i

i i

i i

i i

hy y k k k

k f t y

k f t h y k h

k f t h y k h k h

1 1 2 3 4

1

2 1

3 2

4 3

2 26

( , )1 1 ( , )2 21 1 ( , )2 2

( , )

i i

i i

i i

i i

i i

hy y k k k k

k f t y

k f t h y k h

k f t h y k h

k f t h y k h

k1

k2

k3

k4

yi+1

yi

Interpretación geométrica

4 Cada una de las ks representa una pendiente. El resultado es una mediaponderada de esas pendientes.

Page 32: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

32/62

4 Orden 5, Butcher, con error O.h6/:

yiC1 D y1 Ch90.7k1 C 32k3 C 12k4 C 32k5 C 7k6/

k1 D f .ti ; yi/

k2 D f�ti C

14h; yi C

14hk1

�k3 D f

�ti C

14h; yi C

18hk1 C

18hk2

�k4 D f

�ti C

12h; yi �

12hk2 C hk3

�k5 D f

�ti C

34h; yi C

316hk1 C

916hk4

�k6 D f

�ti C h; yi �

37hk1 C

27hk2 C

127hk3 �

127hk4 C

87hk5

�:

4 Para aumentar en una unidad el orden del Runge-Kutta clásico de orden cuatrohacen falta dos evaluaciones de función adicionales.

4 En general no se suelen utilizar fórmulas de Runge-Kutta de orden muy elevadoporque el aumento de precisión no compensa el trabajo adicional.

Page 33: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

33/62

Ejemplo de recapitulación

4 Vamos a integrar la ODE y 0 D y�1t� 2t

�, empleando Euler, Heun,

Runge-Kutta y la rutina de Matlab ode45 –muy habitual para estosproblemas–, que usa Runge-Kutta con una precisión alta.

4 La condición de partida es que y 0 D 0, en t D 0.

4 La fórmula analítica de este problema no se conoce, por lo que se suple con laintegración numérica.

Page 34: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

34/62

4 Este es el programa que lleva a cabo este objetivo.function test_ode45_1(relerr,abserr)% Comparación de métodos explícitos para igual evaluaciones de fclear all, close all

ecdif=@ec04; % ecuación diferencial a integrar: en ec04.mtspan=[0,2]; y0=0; h=.25;

% Diversos métodos con mismas llamadas a f[T1,Y1]=eulere(ecdif,tspan,y0,h/4); % Euler[T2,Y2]=heun(ecdif,tspan,y0,h/2); % Heun[T3,Y3]=rk4(ecdif,tspan,y0,h); % Runge-Kutta orden 4options = odeset(’RelTol’,1.e-9,’AbsTol’,1.e-12);[T4,Y4]=ode45(ecdif,tspan,y0,options); % Exacto: R-K de Matlab

plot(T1,Y1,’:r’);axis([tspan(1), tspan(2), 0, .6]); % intervalos de ejesxlabel(’tiempo’); ylabel(’y’);hold on; gridplot(T2,Y2,’--g’); plot(T3,Y3,’-.b’); plot(T4,Y4,’-k’);

function yprima=ec04(t,y)% solución exacta desconocidaif t==0, yprima=1; else yprima=y*(-2*t+1/t); endend

function [T,Y]=eulere(f,tspan,y0,h) % Método de Eulern=fix((tspan(2)-tspan(1))/h+1);T=tspan(1)*zeros(n,1); Y=y0*zeros(n,length(y0));y=y0; t=tspan(1);for i=2:n

y1=y+h*f(t,y); t1=t+h; % Fórmula de EulerT(i,:)=t1; Y(i,:)=y1’; % tiempo valor de la funciónt=t1; y=y1; % se actualizan t e y

end, end

function [T,Y]=heun(f,tspan,y0,h) % Método de Heunn=(tspan(2)-tspan(1))/h+1;T=tspan(1)*zeros(n,1); Y=y0*zeros(n,length(y0));y=y0; t=tspan(1);for i=2:n

t1=t+h;yp=f(t,y); % predictor con Euler explícitoy1=y+h*yp;y1n=y+h*(yp+f(t1,y1))/2; % corrector con la regla trapezoidalT(i,:)=t1; Y(i,:)=y1n; % tiempo valor de la funciónt=t1; y=y1; % se actualizan t e y

end, end

function [T,Y]=rk4(f,tspan,y0,h) % Runge-Kutta orden 4n=fix((tspan(2)-tspan(1))/h+1);T=tspan(1)*zeros(n,1); Y=y0*zeros(n,length(y0));y=y0; t=tspan(1);for i=2:n

t1=t+h;k1=h*f(t,y); % cálculo de los coeficientes kk2=h*f(t+h/2,y+k1/2);k3=h*f(t+h/2,y+k2/2);k4=h*f(t+h,y+k3);y1=y+(k1+2*k2+2*k3+k4)/6;T(i,:)=t1; Y(i,:)=y1; % tiempo valor de la funciónt=t1; y=y1; % se actualizan t e y

end, endend

Page 35: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

35/62

4 Este es el resultado:

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20

0.1

0.2

0.3

0.4

0.5

tiempo

y

Solución de y'=y(1/t-2t)

EulerHeunrk4ode45

Page 36: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

36/62

Métodos Runge-Kutta de paso variable

4 Hasta ahora hemos supuesto que el paso h era fijo. En un intervalo deintegración Œ0; T �, sin embargo, puede haber subintervalos de mayor o menorvariación de la función y.t/ que conviene particularizar con detalle o integrarcon un paso mayor o más pequeño, según que la dificultad (o el error) seamenor o mayor.

4 Para cambiar el paso, con un coste razonable de tiempo de cálculo, es necesarioestimar la magnitud del error local de truncamiento, lo cual puede hacerse condos fórmulas de distinto orden o utilizando dos pasos diferentes: h y h=2,habitualmente.

4 Los métodos de Runge-Kutta de paso variable, también denominadosembebidos, o encajados, resuelven el problema dos veces usando los pasos h yh=2, y comparan los resultados

Page 37: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

37/62

Método Runge-Kutta-Fehlberg

4 Usa fórmulas Runge-Kutta de orden 4 y 5 respectivamente, concretamente,

k1Dhf .ti ; yi/

k2Dhf�ti C

14h; y1 C

14k1�

k3Dhf�ti C

38h; y1 C

332k1 C

932k2�

k4Dhf�ti C

1232h; y1 C

19322197

k1 �72002197

k2 C72962197

k3�

k5Dhf�ti C h; y1 C

439216k1 � 8k2 C

3680513k3 �

8454104

k4�

k6Dhf�ti C

12h; y1 �

827k1 C 2k2 �

35442565

k3 C18594104

k4 �1140k5�

yiC1Dyi C�25216k1 C

14082565

k3 C21974104

k4 �15k5�

ziC1Dyi C�16135k1 C

665612825

k3 C2856156430

k4 �950k5 C

255k6�:

Page 38: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

38/62

4 La estimación del error que se comete en el paso es

eiC1DjziC1 � yiC1jDhˇ1360k1 �

1284275

k3 �219775240

k4 C150k5 C

255k6ˇ.

4 Si se establece una tolerancia para el error, Tol , y un paso inicial h, se calculaninicialmente y1, z1 y e1. Si se cumple que

ei

jyi j< Tol;

en este caso para i D 1, el valor de z1 sustituye a y1 y se procede al siguientepaso. Si no se cumple con esa tolerancia, se ensaya con

h D 0;8

�Tol jyi j

ei

�15

hi

y se vuelven a calcular los parámetros del paso.

Page 39: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

39/62

4 La rutina de Matlab ode45 usa una variante de este método denominadaDormand-Prince cuyas fórmulas son

k1Dhf .ti ; yi/

k2Dhf�ti C

15h; y1 C

15k1�

k3Dhf�ti C

310h; y1 C

340k1 C

940k2�

k4Dhf�ti C

45h; y1 C

4445k1 �

5615k2 C

329k3�

k5Dhf�ti C

89h; y1 C

193726561

k1 �253602187

k2 C644486561

k3 �212729k4�

k6Dhf�ti C h; y1 C

90173168

k1 �35533k2 C

467325247

k3 C49176k4 �

510318656

k5�

ziC1Dyi C�35384k1 C

5001113

k3 C125192k4 �

21876784

k5 C1184k6�

k7Dhf .ti C h; ziC1/

yiC1Dyi C�517957600

k1 C757116695

k3 C393640k4 �

92097339200

k5 C1872100

k6 C14k7�:

Page 40: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

40/62

4 La estimación del error que se comete en el paso es

eiC1DjziC1 � yiC1jDhˇ71

57600k1 �

7116695

k3 C711920

k4 �17253339200

k5 C22525k6 �

140k7ˇ.

No es necesario calcular yiC1, sólo eiC1.

4 Si se cumplen las tolerancias, ziC1 será el nuevo punto y k1 será k7, por lo queno se desperdician cálculos.

Page 41: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

41/62

Métodos implícitos y problemas rígidos o stiff

4 Los métodos que hemos considerado hasta ahora son explícitos: una fórmuladetermina explícitamente una nueva aproximación yiC1 a partir de datos de h,ti y yi .

4 Hay un tipo de problemas, denominados stiff –rígidos–, para los que los métodosexplícitos evolucionan mal hacia la solución.

4 Los problemas stiff son aquellos que convergen relativamente rápido hacia unasolución estable, pero que tienen componentes transitorios importantes con undecaimiento mucho más rápido.

4 Suelen modelizar procesos físicos con varios componentes con escalas de tiempomuy dispares. El intervalo de tiempo con el que se les estudia puede ser buenopara uno de ellos pero no para todos.

Page 42: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

42/62

4 Estudiemos por ejemplo la ecuación diferencial

y 0 D �˛�y � t2

�C 2t; t > 0; y0 D y.0/;

cuya solución analítica es

y.t/ D y0e�˛tC t2:

4 Si ˛ es un número real grande, la solución varía rápidamente hasta que elcomponente exponencial se desvanece o amortigua.

4 A partir de entonces prevalece el componente polinómico de variación lenta.

Page 43: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

43/62

4 En la figura se observa lo apuntado. La línea continua azul es la solución de laecuación, la discontinua verde –el componente exponencial– es la que sedesvanece antes. La roja corresponde al componente polinómico de variación enel tiempo mucho más lenta.

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.2

0.4

0.6

0.8

1

1.2

1.4

t

y

Figure ��� Solution of y� � ���y� t����t �solid� illustrating inner �dashed� and outer�dash�dot� solutions

As shown� a small perturbation to the outer solution is introduced at t � ��� As noted�

the exact solution to this perturbed solution quickly decays to the outer solution The

solution by Eulers method follows the steep initial slope of the perturbed solution and

overshoots the outer solution These overshoots and undershoots will continue in subse�

quent time steps as illustrated by Example ���

Problems of this type are called �sti�� They arise in applications where phenomena

occur on vastly di�erent time scales Typical examples involve chemical kinetics� optimal

control� and electrical circuits There are many mathematical de�nitions of sti�ness and

the one that we will use follows

De�nition ������ A problem is sti� in an interval if the step size needed for absolute

stability is much smaller than the step size required for accuracy�

��

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

t

yFigure ��� Euler solution �dash�dot� due to a perturbation �dashed� of y � t� �solid�introduced at time t � ���

Sti�ness not only depends on the di�erential equation under consideration� but the in�

terval of interest� the accuracy criteria� and the region of absolute stability of a numerical

method For nonlinear systems

y� � f�t�y�

sti�ness will be related to the magnitudes of the eigenvalues of the Jacobian fy�t�y�

These eigenvalues may have vastly di�erent sizes that vary as a function of t Thus�

detecting sti�ness can be a signi�cant problem in itself

In order to solve sti� problems well need a numerical method with a weaker stability

restriction than Eulers method �Implicit methods� provide the currently accepted

approach and well begin with the simplest implicit method� the backward �or implicit�

��

4 Si se introduce una pequeña perturbación del componente t2 en t D 0;4, lasolución exacta se restablece enseguida. En cambio, el método de Eulerproduciría, con un h D 2, una perturbación importante que se iríarestableciendo después.

Page 44: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

44/62

El método de Euler hacía atrás

4 El método de Euler hacia atrás actúa de la siguiente manera:

y0 D y.0/

yiC1 D yi C hf .tiC1; yiC1/ :

La segunda expresión se obtiene al considerar la aproximación atrasada de laderivada en tiC1, y 0.tiC1/, en vez de la avanzada en ti que hacía el método deEuler.

4 La información que se considera en cada paso tiene en cuenta los dos lados delintervalo Œti ; ti C h�.

4 El método de Euler hacia atrás es implícito, lo que significa que no dadirectamente una fórmula para la nueva aproximación yiC1 sino que ésta seobtiene mediante un proceso más elaborado.

Page 45: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

45/62

4 Ese proceso, para la ecuación diferencial anterior:

yiC1 D yi C h�� ˛

�yiC1 � t

2�C 2t

�D yi � h˛yiC1 C h

�˛t2 C 2t

�:

Al final

yiC1 Dyi C h

�˛t2 C 2t

�1C ˛h

:

4 Si aplicamos a esta fórmula de recurrencia un método iterativo de punto fijo –elde Newton por ejemplo–

y ! g.y/ Dy C h

�˛t2 C 2t

�1C ˛h

;

como g0.y/ D 1=.1C ˛h/ < 1, para cualquier ˛ positivo, el procesoconvergerá a un punto estacionario.

Page 46: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

46/62

4 Apliquemos estas ideas y analicémoslas con Matlab.

function [wi, win, y, ti] = back_euler_1 ( t0, x0, tf, N, TOL, Nmax )%% Backward Euler con y’=-alpha(y-t^2)+2t% Punto de arranque, t0, x0; final, tf; puntos Nif nargin<6, Nmax=100; end, if nargin<5, TOL=0.00001; end, close all

ti = [t0 zeros( 1,N )]; wi = zeros(1,N+1); win = zeros(1,N+1);wi(1) = x0’; win(1) = x0’; x01 = x0; y(1) = x0;

h = ( tf-t0)/N;for i = 1:N

w0 = x0;for j = 1:Nmax

top = (w0 - x0) - h*beuler_1(t0+h,w0);bot = 1 - h*dbeuler_1(t0+h,w0);dw = top/bot;w0 = w0-dw;if abs(dw)<TOL, break; end;

end;x0 = w0;x01 = x01+h*beuler_1(t0,x01);t0 = t0 + h; ti(i+1) = t0;wi(i+1) = x0’; win(i+1) = x01; y(i+1) = y(1)*exp(-10*t0)+t0^2;

endplot(ti,wi,ti,win,ti,y), xlabel(’Tiempo’); ylabel(’y’)legend(’Back. Euler’, ’Euler’, ’Exacto’)

function f = beuler_1(t, p)f = -10*(p-t^2)+2*t;end

function df = dbeuler_1(t, p)df = -10;endend

Page 47: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

47/62

4 El resultado de >> back_euler_1(0,1,1.1,8); es este.

0 0.2 0.4 0.6 0.8 1 1.2 1.4-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

1.2

1.4

Tiempo

y

Back. EulerEulerExacto

Page 48: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

48/62

Métodos multipaso

4 Los métodos que hemos analizado hasta ahora son monopaso, o de pasosencillo. El valor de yiC1 se calcula a partir de la información de un único punto.

4 Los métodos multipaso, o de paso múltiple, utilizan la información de máspuntos obtenidos en pasos anteriores.

4 Persiguen como objetivo necesitar menos evaluaciones de la función para elmismo orden de error que los de paso sencillo.

4 El método de Adams-Bashforth-Moulton de orden cuatro, por ejemplo, sólonecesita dos evaluaciones de función por etapa, frente a las cuatro del métodoclásico de Runge-Kutta.

Page 49: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

49/62

4 Los métodos multipaso necesitan la ayuda de otros para dar los primeros pasosy no se adaptan bien a discontinuidades en la solución: discontinuidades en lasfuerzas aplicadas, impactos, enlaces que aparecen o desaparecen, etc.

4 Tienen la forma general

yiC1 D

mijD1

jyiC1�j C h

mijD0

jf�tiC1�j ; yiC1�j

�:

Si ˇ0 D 0, el método es explícito; si ˇ0 ¤ 0, implícito.

4 Los parámetros ˛i y ˇi se calculan mediante interpolación polinómica.

4 Un método de dos pasos explícito, o abierto, por ejemplo, sería

yiC1 D ˛1yi C h�ˇ1y

0

i C ˇ2y0

i�1

�(se indica y 0 D f .�; �/):

Page 50: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

50/62

4 Para calcular ˛1, ˇ1 y ˇ2 se interpola forzando a que la fórmula sea exacta paralos primeros tres monomios: 1, t y t2.

4 Si y.t/ D 1, entonces y 0.t/ D 0 y se consigue así la primera ecuación

1 D ˛1 � 1C h .ˇ1 � 0C ˇ2 � 0/ :

4 Si y.t/ D t , entonces y 0.t/ D 1 y tenemos la segunda

tiC1 D ˛1ti C h�ˇ1 � 1C ˇ2 � 1

�:

4 Si y.t/ D t2, entonces y 0.t/ D 2t y tenemos la tercera

t2iC1 D ˛1t2i C h

�ˇ1 � 2ti C ˇ2 � 2ti�1

�:

Page 51: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

51/62

4 Estas tres ecuaciones se deben cumplir para cualesquiera valores de ti , por loque podemos hacer ti�1 D 0, h D 1 (entonces ti D 1 y tiC1 D 2) y resolvemosel sistema lineal resultante 3 � 3 dando ˛1 D 1, ˇ1 D 3

2, ˇ2 D �12.

4 La fórmula resultante del método explícito de dos pasos es

yiC1 D yi Ch

2

�3y 0i � y

0

i�1

�;

que se conoce como la fórmula del Método Adams-Bashforth de segundo orden.

Page 52: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

52/62

4 De forma similar se puede desarrollar la fórmula implícita, o cerrada, de dospasos de la forma

yiC1 D ˛1yi C h�ˇ0y

0

iC1 C ˇ1y0

i

�:

4 Para calcular ˛1, ˇ0 y ˇ1 forzaremos como antes a que la fórmula resultante seaexacta para los primeros tres monomios: 1, t y t2. Se obtienen estas tresecuaciones

1D ˛1 � 1C h�ˇ0 � 0C ˇ1 � 0

�tiC1 D ˛1ti C h

�ˇ0 � 1C ˇ1 � 1

�t2iC1 D ˛1t

2i C h

�ˇ0 � 2tiC1 C ˇ1 � 2ti

�:

4 Haciendo ti D 0 y h D 1 (por lo que tiC1 D 1), y resolviendo el sistema 3 � 3resultante se llega a que ˛1 D 1, ˇ0 D 1

2y ˇ1 D 1

2. La fórmula resultante es

yiC1 D yi Ch

2

�y 0iC1 C y

0

i

�;

que da lugar al método implícito conocido como el método del trapezoide, oMétodo de Adams-Moulton de un paso.

Page 53: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

53/62

4 Estas son algunas de las fórmulas más utilizadas.

Fórmulas de multipaso explícitas de Adams-Bashforth

n Error

2 yiC1 D yi Ch2

�3fi � fi�1

�512h3f 00.�/

3 yiC1 D yi Ch12

�23fi � 16fi�1 C 5fi�2

�38h4f 000.�/

4 yiC1 D yi Ch24

�55fi � 59fi�1 C 37fi�2 � 9fi�3

�251720h5f .4/.�/

5 yiC1 D yi Ch720

�1901fi � 2744fi�1 C 2616fi�2 � 1274fi�3 C 251fi�4

�95288h6f .5/.�/

Fórmulas de multipaso implícitas de Adams-Moulton

n Error

2 yiC1 D yi Ch2

�3fiC1 � fi

��

112h3f 00.�/

3 yiC1 D yi Ch12

�5fiC1 C 8fi � fi�1

��

124h4f 000.�/

4 yiC1 D yi Ch24

�9fiC1 C 19fi � 5fi�1 C fi�2

��

19720h5f .4/.�/

5 yiC1 D yi Ch720

�251fiC1 C 646fi � 264fi�1 C 106fi�2 � 19fi�3

��

271440

h6f .5/.�/

Page 54: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

54/62

Métodos predictor-corrector

4 Combinan métodos explícitos e implícitos en cada intervalo mediante un pasopredictor, que estima la solución en el nuevo punto, y otro corrector, que lamejora.

4 Vencen así la dificultad de contar con un buen punto de partida para comenzarel proceso de integración.

Page 55: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

55/62

4 El método de Adams-Bashforth-Moulton de cuarto orden, por ejemplo:

1. Utiliza Adams-Bashforth de cuarto orden como predictor:

y�iC1 D yi Ch

24

�55fi � 59fi�1 C 37fi�2 � 9fi�3

�:

2. Evalúa la función en el nuevo punto�tiC1; y

iC1

�f �iC1 D f

�tiC1; y

iC1

�:

3. Utiliza Adams-Moulton de cuarto orden como corrector:

yiC1 D yi Ch

24

�9f �iC1 C 19fi � 5fi�1 C fi�2

�:

4. Finalmente evalúa de nuevo la función en el punto�tiC1; yiC1

�fiC1 D f

�tiC1; yiC1

�:

Se conoce como método PECE (predice, evalúa, corrige, evalúa).

Page 56: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

56/62

4 El método de Milne-Simpson:

1. Utiliza como predictor

y�iC1 D yi�3 C4h

3

�2fi � fi�1 C 2fi�2

�:

2. Como corrector

yiC1 D yi�1 Ch

3

�f �iC1 C 4fi C fi�1

�:

También se usa como corrector el de Hamming:

yiC1 D9yi � yi�2 C 3h

�f �iC1 C 2fi � 2fi�1

�8

:

Page 57: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

57/62

4 Utilicemos y 0 D 4�t � t3

�y2 para probar el método predictor–corrector de

Adams-Bashforth-Moulton de segundo orden con las condiciones inicialesy.0/ D 0;5 y en el intervalo de tiempo Œ0; 2�.

4 El siguiente programa hace el trabajo.

function [t,y]=Adams_Bas_Moul(inter,ic,n)% Método predictor-corrector de orden 2 de Adams-Bashforth-Moultonh=(inter(2)-inter(1))/n; y(1)=ic; t(1)=inter(1); s=2;for i=1:s-1 % Trapezoide de un paso para

t(i+1)=t(i)+h; % inicializacióny(i+1)=trapstep(t(i),y(i),h);f(i)=ydot(t(i),y(i));

endfor i=s:n % Método multipaso

f(i)=ydot(t(i),y(i));t(i+1)=t(i)+h;y(i+1)=ab2step(t(i),i,y,f,h);f(i+1)=ydot(t(i+1),y(i+1));y(i+1)=am1step(t(i),i,y,f,h);

end[T4,Y4]=ode45(@ydot,inter,ic); close all, plot(t,y,T4,Y4)xlabel(’Tiempo’); ylabel(’y’)legend(’Adams-Bash.-Moul.’, ’ode45’)

function y=trapstep(t,x,h) % Un paso con trapezoidez1=ydot(t,x); g=x+h*z1; z2=ydot(t+h,g);y=x+h*(z1+z2)/2;end

function z=ab2step(t,i,y,f,h) % Paso Adams-Bashforth de orden 2z=y(i)+h*(3*f(i)-f(i-1))/2;end

function z=am1step(t,i,y,f,h) % Paso Adams-Moulton de orden 2z=y(i)+h*(f(i+1)+f(i))/2;end

function z=ydot(t,y) % Función que se integraz=4*(t-t^3)*y^2;endend

Page 58: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

58/62

4 El resultado de >> Adams_Bas_Moul([0 2],0.5,20); es este.

0, 0,5 1, 1,5 2, 2,50,

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1,

Tiempo

y

Adams-Bash.-Moul.ode45

Page 59: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

59/62

Sistemas de ecuaciones diferencialesordinarias4 Muchos sistemas de la vida diaria en ingeniería, economía y ciencias sociales semodelizan y simulan mediante la solución de sistemas de ecuacionesdiferenciales: Basta para ello que el sistema tenga más de un grado de libertad oque haya que integrar una ecuación diferencial de orden superior.

4 Ejemplos son los puntos moviéndose en el plano o en el espacio, el movimientode un sólido rígido sin restricciones, mecanismos, vehículos, etc.

Page 60: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

60/62

4 En general, un sistema de ecuaciones diferenciales ordinarias tiene la forma

y 01 D f1�t; y1; y2; : : : ; yn

�y 02 D f2

�t; y1; y2; : : : ; yn

�:::

y 0n D fn�t; y1; y2; : : : ; yn

�9>>>=>>>; y 0 D f .t;y/:

4 Al aplicar los métodos vistos hasta ahora hay que tener en cuenta que lavariable dependiente y , la función f y los coeficientes ki , del método deRunge-Kutta por ejemplo, son vectores.

4 El método de Euler se aplicaría en la forma vectorial

y 0 D f .t;y/ ! y iC1 D y i C hf .ti ;y i/:

Page 61: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

61/62

Ecuaciones diferenciales de ordensuperior4 Una ecuación diferencial de orden n se puede expresar como:

d ny

dtnD y.n/ D f

�t; y; y 0; y 00; y 000; : : : y.n�1/

�y.t0/ D y0

y 0.t0/ D y0

0

y 00.t0/ D y00

0

� � �

y.n�1/.t0/ D y.n�1/0

4 Esta ecuación se puede transformar en un sistema de n ecuaciones diferencialesde orden uno.

Page 62: Clase Integración

h i j

d e f g

a b c

10 8 7

9 4 6 5

1 2 3

62/62

4 Si se introducen las nuevas variables

y1 D y; y2 D y0; y3 D y

00; : : : ; yn D y.n�1/

se tendrá que

y 01 D y2

y 02 D y3

y 03 D y4:::

y 0n�1 D yn

y 0n D f .x; y1; y2; : : : ; yn/

9>>>>>>>>=>>>>>>>>;y 0 D f .t;y/;

obteniéndose así un sistema de n ecuaciones diferenciales de primer orden con nincógnitas, al que habría que añadirle las condiciones iniciales y.t0/ D y0.