Sie sind auf Seite 1von 6

Mtodos Numricos Aplicados

EAP IH UNC

2010 -1

N NUME RICA DE ECUACIONES 3. SOLUCIO DIFERENCIALES LINEALES. 1. Solucio n de ecuaciones diferenciales lineales.

Las ecuaciones diferenciales lineales as como las no lineales pueden tambi en resolverse utilizando MATLAB. En la tabla 1 se lista algunas t ecnicas num ericas para resolver ecuaciones diferenciales,

TABLA 1. T ecnicas num ericas paea ecuaciones diferenciales. S mbolo ode23 ode45 Explicaciones s o u lc o i n usando el algoritmo de Runge Kutta de 2do/3er orden s o u lc o i n usando el algoritmo de Runge Kutta de 4to/5to orden

1.1.

A l g o r i t m ode Runge Kutta de 2do y 3er orden.

MATLAB usa el algoritmo de Runge Kutta para resolver una ecuacio n diferencial o un sistema de ecuaciones diferenciales. La notacio n general es, [t, x] = ode23 f unc , t0, tf, x0 ; en donde f unc es una funci on que contiene la informacio n sobre la derivacio n t0 , (tf ) es el tiempo inicial (final), y x0 es el vector de condicio n inicial. Por ejemplo, si queremos resolver: x + sen (x) = 0 que se puede reescribir del siguiente modo: x 1 = x2 x 2 = sen (x1 ) donde x1 = x y x2 = x . La funci on f unc puede ser construida en forma independiente en un archivo M como f unc.m. Ahora utilizamos el comando ode.23, >>[t,x]=ode23(func,0,10,x0);

donde: ( x0 = 0 0 )

es la condicio n inicial y func.m es guardada como: function [f]=func(t,x) [f]=zeros(2,1); f(1)=x(2); f(2)=-sin(x(1));

1.2.

A l g o r i t m ode Runge Kutta de orden cuarto y quinto.

Existe otro algoritmo de Runge Kutta ode.45 con una mayor precisio n que ode.23, [t, x] = ode45( f unc , t0, tf, x0) Para aplicar ode.45, se puede usar el mismo procedimiento que para ode.23.

1.3.

S i s t e m a sde ecuaciones diferenciales.

Para ilustrar los conceptos, consideremos el problema de valor inicial:


dx dt dy dt

= f (t, x, y) (1) = g (t, x, y) ( x (t0 ) = x0 y (t0 ) = y0

con

Una soluci on del sistema (1) es un par de funciones derivables x (t) e y (t) tales que cuando t, x (t), e y (t) se sustituyen en f (t, x, y) y g (t, x, y), el resultado es igual a la derivada x (t) e y (t), respectivamente; es decir: x (t) = f (t, x (t) , y (t)) y (t) = g (t, x (t) , y (t)) (2)

EAP IH -

UNC

MTODOS

NUMRICOS

APLICADOS

2010-1

( con

x (t0 ) = x0 y (t0 ) = y0

Programa 1 (M etodo de Runge-Kutta de orden N = 4 para sistemas). Construccio n de aproximaciones a la solucio n del sistema de ecuaciones diferenciales:

x 1 (t) = f1 (t, x1 (t) , ..., xn ) . xn (t) .

= fn (t, x1 (t) , ..., xn )

con x1 (a) = 1, , xn (a) = n en el intervalo [a, b].

function [T,Z]=rks4(F,a,b,Za,M) % Datos % - F es la funcio n, almacenada como una cadena de caracteres F. % - a y b son los extremos derecho e izquierdo del intervalo. % - Z=[x1(a)...xn(a)] es la condicio n inicial. % - M es el nu mero de pasos. % Resultados % - T el vector de los nodos % - Z=[x1(t)...xn(t)]; donde xk(t) es la aproximacio n a la k- esima % variable dependiente. h=(b-a)/M; T=zeros(1,M+1); Z=zeros(M+1,length(Za)); T=a:h:b; Z(1,:)=Za; for j=1:M k1=h*feval(F,T(j),Z(j,:)); k2=h*feval(F,T(j)+h/2,Z(j,:)+k1/2); k3=h*feval(F,T(j)+h/2,Z(j,:)+k2/2); k4=h*feval(F,T(j)+h,Z(j,:)+k3); Z(j+1,:)=Z(j,:)+(k1+2*k2+2*k3+k4)/6; end

EAP IH -

UNC

MTODOS

NUMRICOS

APLICADOS

2010-1

Ejemplo 1 Utilizar el programa 1 para resolver el sistema: x = 2x + 3y, y = 2x + y con x (0) = 2,7, y (0) = 2,8 en 0 t 1,0

con taman o de paso h = 0,05. Graficar la aproximaci on obtenida y la solucio n exacta: 69 t 3 e + e4t 25 50 69 t 1 e + e4t 25 25

x (t) =

y (t) =

N SOLUCIO Creamos primeramente el archivo F.m que almacena como un sistema, al problema de valor inicial dado: function Z=F(t,Z) x=Z(1); y=Z(2); Z=[2x+3y, 2x+y];

luego, llamamos a la funcio n rks4: [T Z]=rks4(F,0,1,[-2.7 2.8],10) con lo cual se obtiene: T = 0 0 . 1 0 0 0 1 . 0 0 0 0 0 . 2 0 0 0 0 . 3 0 0 0 0 . 4 0 0 0 0 . 5 0 0 0 0 . 6 0 0 0 0 . 7 0 0 0 0 . 8 0 0 0 0 . 9 0 0 0

Z = -2.7000 -2.4078 -2.1262 -1.8455 -1.5530 -1.2308 -0.8536 -0.3843 0.2311 1.0726 2.2585 2.8000 2.5570 2.3487 2.1774 2.0482 1.9695 1.9555 2.0281 2.2210 2.5853 3.1979

procedemos ahora a graficar ambas soluciones (la exacta y la num erica) para ambas variables x e y:
EAP IH UNC MTODOS NUMRICOS APLICADOS 2010-1

>> >> >> >> >> >> >> >> >> >>

subplot(2,1,1);plot(T,-69/25.*exp(-T)+3/50.*exp(4*T),r), title(Soluci on exacta para la variable x) xlabel(t) ylabel(x) grid subplot(2,1,2);plot(T,Z(:,1),b), title(Soluci on nume rica para la variable x) xlabel(t) ylabel(x) grid

con lo que se obtiene:

Solucin exacta para la variable x 4 2 0 2 4 0


x

0.2

0.6 t Solucin numrica para la variable x

0.4

0.8

4 2 0 2 4 0

0.2

0.4

0.6

0.8

de manera similar se obtiene las gr aficas respectivas para la variable y.

EAP IH -

UNC

MTODOS

NUMRICOS

APLICADOS

2010-1

Indice
1. Soluci on de ecuaciones diferenciales lineales. 1.1. Algoritmo de Runge Kutta de 2do y 3er orden. . . . . . . . . . . . . . . . . . . 1.2. Algoritmo de Runge Kutta de orden cuarto y quinto. . . . . . . . . . . . . . . . 1.3. Sistemas de ecuaciones diferenciales. . . . . . . . . . . . . . . . . . . . . . . . . 1 1 2 2

EAP IH -

UNC

MTODOS

NUMRICOS

APLICADOS

2010-1

Das könnte Ihnen auch gefallen