Está en la página 1de 12

ECUACIONES DIFERENCIALES

ORDINARIAS (MÉTODOS
NUMÉRICOS)
Introducción
• Los métodos aplicados para la resolución de las
EDO proporcionan soluciones aproximadas para
analizar el comportamiento de la solución con
respecto al problema propuesto. Es importante
conocer las condiciones iniciales, el dominio en
el que la solución tiene validez y propagación de
errores.
Importancia de las EDO
• Las ecuaciones diferenciales ordinarias permiten
modelar procesos dinámicos como: vaciados de
recipientes, reactores químicos, movimientos
amortiguados, desarrollos poblacionales, e incluso
situaciones estáticas, como deflección de vigas y
problemas geométricos.
• Aumenta su complejidad en la medida que se
aproximen cada vez más al comportamiento del
objeto o fenómeno en estudio, por esa razón en la
mayoría de los casos hallar su solución por métodos
analíticos es imposible lo que nos lleva a utilizar los
métodos numéricos; además puede implementarse
en programas de cómputo elaborados en Matlab.
¿Qué son las EDO?
• Las ecuaciones diferenciales ordinarias, llamadas comúnmente
(‘’EDO’’),son ecuaciones que involucran funciones desconocidas y
sus derivadas ,se dicen que son ordinarias por que dicha función
depende de una única variable independiente.
• Para resolverlos por métodos numéricos tienes que tener
condiciones iniciales denominado problema de valor inicial; se
inicia formulando tales problemas y a partir de las ideas de
extrapolación se plantean métodos, como el de Euler y los de Taylor.
• También se obtienen métodos con diferentes órdenes de exactitud
donde no se requieren derivaciones complicadas de funciones, pero
pagándose como precio de ello un mayor número de cálculos, tal
método es conocido con el nombre de Runge-kutta.
• Tener en cuenta que el método de Runge-kutta con orden uno es el
método de Euler.
Aplicaciones de las EDO
• Ejercicio 1:
• En un lugar donde varía mucho la temperatura, se encontró un líquido muy extraño,
después de analizar este líquido se observó que el comportamiento de su viscosidad varía
de acuerdo a la temperatura, se pudo hallar la siguiente ecuación::
V=4.2*exp(0.2*T)+0.55*T
V=viscosidad
T=temperatura
Donde la temperatura inicial es T(0)=0°C Y V(o)=1Pa/s ,h=0.2
Hallar la viscosidad con el método de Runge-kutta de cuarto orden
Solución:
La fórmula de Runge-kutta es la siguiente
Yi+1 =Yi + 1(K1 +2K2+2K3+K4)h
K1=f(xi ,y6i)
K2=f(xi +1/2(h),yi +1/2K1h)
K3=f(xi +1/2(h),yi +1/2K2h)
K4=f(xi + (h),yi +K3h)
Solución:
• K1=f(0,1)
• K1=4.2*exp(0.2*0)+0.55*0
• K1=4.2
• Y(1)= 1.535914
• K2=f(0.1;1.84)
• K2=4.2*exp(0.2*0.1)+0.55*0.1
• K2=4.33984563
• Y(2)= 2.093881
• K3=f(0.1;1)
• K3=4.55283860
• Y(3)= 2.674239
• K4=f(0.5;3.45835893)
• K4=4.91671786
• Reemplazando en la formula :
• Y(0.5)=1 + 1(4.2+4.55283860+4.55283860+4.91671786)*0.5
• Y(0.5)= 3.277339
6
Ejercicio 2:
Se desea concentrar una solución de nitrato de amonio en un tanque
de mezclado, inicialmente hay una concentración de
10mgNH4NO3/m3. Con el fin de concentrar el nitrato se hace ingresar
una corriente de 50mg NH4NO3/m3 con un caudal de 5m3/min
mediante una tubería situada en la parte superior del tanque. En la
parte inferior del tanque hay una tubería con una válvula, esta se abre
y se regula al mismo caudal de la entrada al mismo tiempo que se hace
ingresar el nitrato concentrado. Con un incremento de h=1 determine
con el método de Euler la concentración en el tanque cuando se
alcanza un estado estable (consideraremos el estado estable cuando se
alcance una tolerancia de 0.0005).
El volumen inicial del nitrato en el tanque es de 15m3.
Usar:
Yi+1=yi+h*f(xi,yi)
Xi+1=xi+h i=0,1,2,……
Solución:
Programa general
• function exposicion_final2()
• resp='s';
• while resp=='s' || resp=='S'
• disp([blanks(20) 'MENU PRINCIPAL']);
• disp([blanks(10) '1._Introducción de las EDO']);
• disp([blanks(10) '2._Importancia de las EDO']);
• disp([blanks(10) '3._¿Qué son las EDO?']);
• disp([blanks(10) '4._Aplicacion de las EDO']);
• disp([blanks(10) '5._Método de Euler']);
• disp([blanks(30) 'Escoja su opcion']);
• opc=input('Escoja una opción: ','s');
• switch opc
• case '1'
• disp('El estudio clásico de las EDO ha enfatizado al estudio de técnicas');
• disp('de resolución pero que son aplicables a un número.....');
• case '2'
• disp('Las ecuaciones diferenciales ordinarias permiten modelar procesos dinámicos');
• disp('como: vaciados de recipientes, reactores químicos, movimientos amortiguados,');
• disp('desarrollos poblacionales, e incluso situaciones estáticas, como deflección de ');
• disp('vigas y problemas geométricos.')
• disp('Aumenta su complejidad en la medida que se aproximen cada vez más al ');
• disp('comportamiento del objeto o fenómeno en estudio, por esa razón en la mayoría de ');
• disp('los casos hallar su solución por métodos analíticos es imposible lo que nos lleva a ');
• disp('utilizar los métodos numéricos; además puede implementarse en programas de ');
• disp('cómputo elaborados en Matlab.');
• case '3'
• disp('Las ecuaciones diferenciales ordinarias, llamadas comúnmente (‘’EDO’’),son ');
• disp('ecuaciones que involucran funciones desconocidas y sus derivadas ,se dicen que ');
• disp('son ordinarias por que dicha función depende de una única variable ');
• disp('independiente.');
• disp('Para resolverlos por métodos numéricos tienes que tener condiciones iniciales ');
• disp('denominado problema de valor inicial; se inicia formulando tales problemas y a ');
• disp('partir de las ideas de extrapolación se plantean métodos, como el de Euler y los ');
• disp('de Taylor.');
• disp('También se obtienen métodos con diferentes órdenes de exactitud donde no se ');
• disp('requieren derivaciones complicadas de funciones, pero pagándose como precio de ');
• disp('ello un mayor número de cálculos, tal método es conocido con el nombre de ');
• disp('Runge-kutta.');
• disp('Tener en cuenta que el método de Runge-kutta con orden uno es el método de ');
• disp('Euler.');
• case '4'
• rngktt4()
• case '5'
• disp('Método de Euler');
• problemaeuler()
• otherwise
• disp('Error en el ingreso de opción');
• end %Fin del switch
• resp=input('Si desea repetir presione s/S','s');
• disp('Fin del menú principal');
• end
• end
Programa ejercicio 1
• function rngktt4()
• fprintf('\n \tRESOLUCION DE ECUACIONES DIFERENCIALES POR MEDIO RUNGE-KUTTA DE ORDEN 4\n')
• syms x y;
• F=input('Ingrese la función Df(x,y)/dx:');
• x0=input('Ingrese el valor de "x" inicial:');
• x1=input('ingrese el 2do punto "x":');
• y0=input('Ingrese la condición inicial y(x0):');
• n=input('Ingrese el numero de intervalos:');
• h=(x1-x0)/n;
• a=x0;
• b=x1;
• fprintf('%s\t\t\t\t\t\t%s\t\t\t\t\t\t%s\n','x','y','yi');
• while a<b
• k1=subs(F,{x,y},{a,y0});
• k2=subs(F,{x,y},{a+(1/2)*h,y0+(1/2)*k1*h});
• k3=subs(F,{x,y},{a+(1/2)*h,y0+(1/2)*k2*h});
• k4=subs(F,{x,y},{a+h,y0+k3*h});
• yi=double(y0+(1/6)*(k1+2*k2+2*k3+k4)*h);
• fprintf('%f\t\t\t\t%f\t\t\t\t%f\n',a,y0,yi);
• a=a+h;
• y0=yi;
• end
• disp('la solucion es :')
• disp(yi)
• disp('Entonces la viscosidad es: ');
• disp(yi)
Programa ejercicio 2
• function problemaeuler()
• syms x y;
• x0=input('Ingrese tiempo inicial:');%t=0
• x1=input('ingrese la concentración de entrada:');%ce=50
• y0=input('Ingrese la condición inicial y(x0):');%c0=10
• h=input('Ingrese tamaño de paso:');%h=1
• es=input('Ingrese tolerancia: ');
• a=x0;
• fprintf('%s\t\t\t\t\t%s\t\t\t\t\t%s\n','t','c','ea');
• while a<=x1
• yi=double(y0+h*(250/15-(5/15)*y0));
• ea=abs((yi-y0)/yi)*100;
• fprintf('%f\t\t%f\t\t\t%f\n',a,y0,ea);
• a=a+h;
• y0=yi;
• if ea<=es
• break
• end
• end
• disp('El tiempo en el que se llena: ');
• disp(a);
• disp('La concentración final es:');
• disp(y0)

También podría gustarte