Beruflich Dokumente
Kultur Dokumente
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.
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.
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.
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:
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];
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
0.2
0.4
0.8
4 2 0 2 4 0
0.2
0.4
0.6
0.8
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